Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我们应该避免显式使用wait/notify/notifyAll吗_Java_Multithreading - Fatal编程技术网

Java 我们应该避免显式使用wait/notify/notifyAll吗

Java 我们应该避免显式使用wait/notify/notifyAll吗,java,multithreading,Java,Multithreading,我的问题是关于显式使用wait()和notify()。当我们需要像“代码>生产者消费者< /代码>之类的东西时,我们试图避免它,而不是考虑使用阻止DeQue。 我想了想,但没有找到多少合理的解释。此外,我还试图发明一个例子,在这个例子中,我们必须显式地使用wait()和notify(),但失败了。在java.util.concurrent中有更好的更高层次的结构,所以现在使用wait/notify是非常可疑的。哪一个是?你能举个例子吗?都是。使用哪一个取决于你在做什么。Wait和notify是用

我的问题是关于显式使用
wait()
notify()
。当我们需要像“代码>生产者消费者< /代码>之类的东西时,我们试图避免它,而不是考虑使用<代码>阻止DeQue<代码>。


我想了想,但没有找到多少合理的解释。此外,我还试图发明一个例子,在这个例子中,我们必须显式地使用
wait()
notify()
,但失败了。

java.util.concurrent
中有更好的更高层次的结构,所以现在使用
wait/notify
是非常可疑的。

哪一个是?你能举个例子吗?都是。使用哪一个取决于你在做什么。Wait和notify是用于实现高级同步对象(队列、信号量、屏障等)的低级原语。使用Wait()和notify()没有什么错,但请始终扪心自问:“我是在发明别人已经做过的事情吗?”concurrent包和第三方包(如guava和ApacheCommons)提供了许多高质量、非常有用的类,您不应该尝试为自己重新创建这些类。