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中使用
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。