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


