其他分享
首页 > 其他分享> > 等待唤醒机制和等待唤醒机制需求分析

等待唤醒机制和等待唤醒机制需求分析

作者:互联网

什么是等待唤醒机制

这是多个线程间的一种协作机制。谈到线程我们经常想到的是线程间的竞争( race ),比如去争夺锁,但这并不是故事的全部,线程间也会有协作机制。

就好比在公司里你和你的同事们,你们可能存在在晋升时的竞争,但更多时候你们更多是一起合作以完成某些任务。

就是在一个线程进行了规定操作后,就进入等待状态( wait()),等待其他线程执行完他们的指定代码过后再将其唤醒( notify()) ;在有多个线程进行等待时,如果需要,可以使用notifyAll)来唤醒所有的等待线程。

wait/notify 就是线程间的一种协作机制。

调用wait和notify方法需要注意的细节

1. wait方法与notify方法必须要由同一个锁对象调用。因为∶对应的锁对象可以通过notify唤醒使用同一个锁对象调用的wait方法后的线程。

2.wait方法与notify方法是属于Object类的方法的。因为︰锁对象可以是任意对象,而任意对象的所属类都是继承了Object类的。

3.wait方法与notify方法必须要在同步代码块或者是同步函数中使用。因为︰必须要通过锁对象调用这2个方法。

图:

 

 

 

 

 

等待唤醒机制需求分析

 

 

 

 

 

标签:唤醒,方法,线程,notify,机制,等待,wait
来源: https://www.cnblogs.com/12-12-12/p/16461700.html