黑马程序员---多线程wait方法详解(原创)

来源:互联网 发布:淘宝店铺海报图的尺寸 编辑:程序博客网 时间:2024/04/29 09:53
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------

通常,多线程之间需要协调工作。例如,浏览器的一个显示图片的线程displayThread想要执行显示图片的任务,必须等待下载线程 downloadThread将该图片下载完毕。如果图片还没有下载完,displayThread可以暂停,当downloadThread完成了任务 后,再通知displayThread“图片准备完毕,可以显示了”,这时,displayThread继续执行。
 以上逻辑简单的说就是:如果条件不满足,则等待。当条件满足时,等待该条件的线程将被唤醒。在Java中,这个机制的实现依赖于wait/notify。等待机制与锁机制是密切关联的。例如:
 synchronized(obj)

 {

while(!condition)

 {

obj.wait();

}

obj.doSomething();

 

 

---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
原创粉丝点击