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

转自:

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

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中使用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值