什么时候释放锁:
(1)当前线程切换为 wait 状态时释放同步锁
(2)当同步块执行结束时释放同步锁
正确阻塞线程示例:(在同步块中,在循环中调用阻塞方法)
public void execute() throws InterruptedException {
synchronized (this) {
while (isAwakened()) {
// isAwakened() 是满足被唤醒的条件
this.wait();
}
}
}
注意事项:
Thread.sleep() 和 Thread.yield() 并不释放锁
参考文章:
《java多线程什么时候释放锁—wait()、notify()》
最后
以上就是专一镜子最近收集整理的关于Java多线程什么时候释放锁—wait()、notify()的全部内容,更多相关Java多线程什么时候释放锁—wait()、notify()内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复