老师,notify All()方法不是唤醒全部吗为什么要写两个

来源:5-1 线程间通信

散落满天的回忆

2019-08-06 09:29:49

老师,notify All()方法不是唤醒全部吗为什么要写两个,这个方法使用的位置是什么?

写回答

1回答

好帮手慕小班

2019-08-06

        同学你好,1、notifyAll方法是唤醒所有线程,本线程不可能把自己唤醒,如果能执行到唤醒这一步就证明自己是在运行的状态。

        因此可以理解为每次都是自己已经生产或消费完毕,唤醒的对方线程,所以要在两个方法中都写上notifyAll方法来唤醒对方线程!

        2、所以这个notifyAll方法的位置在generate()和read()方法内的最后来调用!

          如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

0

0 学习 · 11489 问题

查看课程