object类相关方法

声明

版权声明:本文部分内容参考自CSDN博主「一个快乐的野指针~」的原创文章,仅用作个人学习,特此声明
原文链接: https://blog.csdn.net/qq_44715943/article/details/116714584

object类相关方法

1、方法

方法名 作用
void wait() 让活动在当前对象的线程无限等待(释放之前占有的锁)
void notify() 唤醒当前对象正在等待的线程(只提示唤醒,不会释放锁)
void notifyAll() 唤醒当前对象全部正在等待的线程(只提示唤醒,不会释放锁)

2、方法解析

  • wait和notify方法不是线程对象的方法,是java中任何一个java对象都有的方法,因为这两个方法是 Object类中自带 的。

    wait方法和notify方法不是通过线程对象调用
    不是这样的:t.wait(),也不是这样的:t.notify()…不对。

  • wait方法

    Object o = new Object();
    
    o.wait();
    

    表示:
    正在o对象上活动的线程进入等待状态,无期限等待,直到被唤醒为止。

    o.wait();方法的调用,会让“当前线程(正在o对象上活动的线程)”进入等待状态。

  • notify方法

    Object o = new Object();
    
    o.notify();
    

    表示:
    唤醒正在o对象上等待的线程。

  • notifyAll方法

    Object o = new Object();
    
    o.notifyAll();
    

    表示:
    这个方法是唤醒o对象上处于等待的所有线程


3、图文解析加深理解


4、总结★★★★★

1、wait和notify方法不是线程对象的方法,是普通java对象都有的方法。

2、wait方法和notify方法建立在 线程同步 的基础之上。因为多线程要同时操作一个仓库。有线程安全问题。

3、wait方法作用:o.wait() 让正在o对象上活动的线程t进入等待状态,并且释放掉t线程之前占有的o对象的锁

4、notify方法作用:o.notify() 让正在o对象上等待的线程唤醒,只是通知,不会释放o对象上之前占有的锁。

posted @   无关风月7707  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示