Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/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 在线程计划程序中为已等待并通知的线程设置优先级_Java_Multithreading_Java Threads_Thread Synchronization - Fatal编程技术网

Java 在线程计划程序中为已等待并通知的线程设置优先级

Java 在线程计划程序中为已等待并通知的线程设置优先级,java,multithreading,java-threads,thread-synchronization,Java,Multithreading,Java Threads,Thread Synchronization,我有一系列的生产者和消费者线程。在使用者线程中,我有一个lock.wait()函数,在队列中没有数据时停止执行。当数据在生产者线程中生成时,调用lock.notify(),消费者线程从等待状态出来,并移动到线程调度程序以获取锁。当notifier producer线程释放锁时,线程调度程序会选择一个随机线程进行处理(它也可以是另一个producer线程,但我希望它为这个等待的线程提供锁)。我的问题是,有没有一种方法可以让这些等待和通知的线程获得更高的优先级,以尽快获得锁,而不是将线程调度程序视为

我有一系列的生产者和消费者线程。在使用者线程中,我有一个
lock.wait()
函数,在队列中没有数据时停止执行。当数据在生产者线程中生成时,调用
lock.notify()
,消费者线程从等待状态出来,并移动到线程调度程序以获取锁。当notifier producer线程释放锁时,线程调度程序会选择一个随机线程进行处理(它也可以是另一个producer线程,但我希望它为这个等待的线程提供锁)。我的问题是,有没有一种方法可以让这些等待和通知的线程获得更高的优先级,以尽快获得锁,而不是将线程调度程序视为普通线程。我尝试了
Thread.currentthread.setPriority
,但它不起作用:(

最高优先级的线程将始终获得CPU时间,但不保证CPU时间。JVM有时可能会选择运行优先级较低的线程

查看此链接