老师,notify All()方法不是唤醒全部吗为什么要写两个
来源:5-1 线程间通信
散落满天的回忆
2019-08-06 09:29:49
老师,notify All()方法不是唤醒全部吗为什么要写两个,这个方法使用的位置是什么?
1回答
同学你好,1、notifyAll方法是唤醒所有线程,本线程不可能把自己唤醒,如果能执行到唤醒这一步就证明自己是在运行的状态。
因此可以理解为每次都是自己已经生产或消费完毕,唤醒的对方线程,所以要在两个方法中都写上notifyAll方法来唤醒对方线程!
2、所以这个notifyAll方法的位置在generate()和read()方法内的最后来调用!
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题
回答 5
回答 4