Java Object类下wait()方法具有什么功能呢?

Java-教程王 Java教程 发布时间:2021-08-24 06:13:20 阅读数:19385 1

Object类下wait()方法的功能

Object wait()方法功能:
使当前线程进入等待状态,
并释放当前线程所拥有的锁
当其它线程调用此对象的notify或notifyAll方法

wait语法

public final void wait()
---------参数说明-----
无
---------返回值-----
无返回值
注意事项:
  1.当前线程必须为此对象的监视器所有者,否则会抛出IllegalMonitorStateException异常
  2.当线程在等待之前或在等待时被任何线程中断,会抛出 InterruptedException 异常
例:
wait()示例分享
 
//main 主线程

synchronized(local1) {
     try {
          local1.start();
          local1.wait();
   } catch(InterruptedException e) {
          e.printStackTrace();
   }
}

//local1中唤醒主线程
  synchronized (this) {
        //this 代表local1
        this.notify();
   }
/*代码详解*/
   1.synchronized(local1)锁定local1(获得local1的监视器)
   2.synchronized(local1)这里的锁定了local1,那么wait需用local1.wait()(释放掉local1)
   3.由于需要释放锁,所以需在synchronized中使用
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaCourse/202108/849.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者