在线程调度程序中为已等待并通知的线程设置优先级



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

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

查看此链接 http://journals.ecs.soton.ac.uk/java/tutorial/java/threads/priority.html

最新更新