Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.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 Montior中的多条件变量队列_Java_Concurrency_Monitor - Fatal编程技术网

Java Montior中的多条件变量队列

Java Montior中的多条件变量队列,java,concurrency,monitor,Java,Concurrency,Monitor,在C语言中,通过线程可以等待的不同条件变量,可以在监视器中有几个不同的等待队列。这比java监视器的wait()方法更细粒度。在Java中也有这样做的方法吗?JVM是否在幕后做了一些奇特的事情来进行类似的优化?唤醒等待特定条件的线程比总是唤醒每个线程更有效。您可以使用多个对象作为队列,使用另一个对象作为全局监视器;每个线程必须在队列和监视器上同步(按顺序),并且只向队列发出通知。

在C语言中,通过线程可以等待的不同条件变量,可以在监视器中有几个不同的等待队列。这比java监视器的wait()方法更细粒度。在Java中也有这样做的方法吗?JVM是否在幕后做了一些奇特的事情来进行类似的优化?唤醒等待特定条件的线程比总是唤醒每个线程更有效。

您可以使用多个对象作为队列,使用另一个对象作为全局监视器;每个线程必须在队列和监视器上同步(按顺序),并且只向队列发出通知。