Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/145.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
Synchronization 使用监视器解决消费者/生产者问题_Synchronization_Monitor_Notify_Consumer_Producer - Fatal编程技术网

Synchronization 使用监视器解决消费者/生产者问题

Synchronization 使用监视器解决消费者/生产者问题,synchronization,monitor,notify,consumer,producer,Synchronization,Monitor,Notify,Consumer,Producer,在使用monitor解决消费者/生产者问题的常见模式中,为什么总是使用notify/notifyall语句,即使只有当数组中的元素数从零变为一或从n变为n-1时才使用它是有意义的。按照几乎所有文献中所描述的方式,notify调用的很大一部分最终都没有效果,这意味着只是浪费资源。或者我遗漏了一些重要的东西?好吧,像这样编写模式比每次检查数组更容易。此外,通知所有人不会浪费资源。我认为,当并没有线程在等待信号时,自己编写if语句和调用notify/notifyAll应该是一样的。我想,优化是在引擎盖

在使用monitor解决消费者/生产者问题的常见模式中,为什么总是使用notify/notifyall语句,即使只有当数组中的元素数从零变为一或从n变为n-1时才使用它是有意义的。按照几乎所有文献中所描述的方式,notify调用的很大一部分最终都没有效果,这意味着只是浪费资源。或者我遗漏了一些重要的东西?

好吧,像这样编写模式比每次检查数组更容易。此外,通知所有人不会浪费资源。我认为,当并没有线程在等待信号时,自己编写if语句和调用notify/notifyAll应该是一样的。我想,优化是在引擎盖下进行的