java - 例如,调用 notifyAll 的顺序如何影响 Java 中的执行?

标签 java multithreading concurrency synchronization

在这里查看生产者消费者问题的例子,http://java67.blogspot.com/2012/12/producer-consumer-problem-with-wait-and-notify-example.html

我看到在生产者类中添加调用之后和消费者类中删除调用之前调用了 notifyall。为什么会这样?

如果两者顺序相同,结果如何?

试图理解同步。

最佳答案

没有区别。在这两种情况下,被通知的线程只有在通知线程退出 synchronized block 后才能继续执行。 synchronized block 中的顺序在这里无关紧要。

关于java - 例如,调用 notifyAll 的顺序如何影响 Java 中的执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37688224/

相关文章:

c++ - Windows 和 Linux 上的线程

c++ - 圆形无锁缓冲区

c - pthread - 暂停/取消暂停所有线程

java - 使静态方法同步与否

java - 我应该如何使用 AtomicInteger 作为引用计数器来管理某些资源?

java String - 字符串索引超出范围,charAt

java - 找不到 KeyStore 的 DB2 DataSource 属性

java - 按需初始化 holder 习语的正确实现

java - Spring : Can a class be both @Document and @Table

java - 提取斜线之间的字符串