动力节点首页 全国咨询热线:400-8080-105

绑定手机号,登录
手机号

验证码

微信登录
手机号登录
手机号

验证码

微信登录与注册
微信扫码登录与注册

扫码关注微信公众号完成登录与注册
手机号登录

你是如何调用 wait()方法的?使用 if 块还是循环?为什么?

代码小兵652

2021.05.21

调用 wait()方法的选择有几种,为什么选择,麻烦说明理由

    Java SE

举报

添加回答

回答(1)

代码小兵696

wait() 方法应该在循环调用,因为当线程获取到 CPU 开始执行的时候,其他条件可能还没有满足,所以在处理前,循环检测条件是否满足会更好。下面是一段标准的使用 wait 和 notify 方法的代码:

// The standard idiom for using the wait method
synchronized (obj) {
	while (condition does not hold)
	obj.wait();
	// (Releases lock, and reacquires on wakeup)
	... // Perform action appropriate to condition
}

 

时间:05-21 09:16 查看回复 (0) 回复 0 0 举报

回复