Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/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_Locking - Fatal编程技术网

Java锁和线程优先级?

Java锁和线程优先级?,java,multithreading,locking,Java,Multithreading,Locking,我有一些代码,当某个线程以计时器提供的固定间隔更新某些资源时,许多线程可能正在等待锁。理想情况下,定时线程应该是在锁解锁时唤醒的线程,以防它正在等待锁。Java中是否存在一个尊重线程优先级的锁?我查看了例如Guava的Monitor实施,但它根本没有查看优先级 我知道这是一个实时系统的研究课题,有很多标准算法,但我没有严格的延迟保证。我主要需要一个经过良好测试的实现。在这种情况下,我建议您尝试读/写锁。看看这里,不确定RW锁会有什么帮助?我有一个一次只能由一个线程输入的关键部分(即,我们没有可以

我有一些代码,当某个线程以计时器提供的固定间隔更新某些资源时,许多线程可能正在等待锁。理想情况下,定时线程应该是在锁解锁时唤醒的线程,以防它正在等待锁。Java中是否存在一个尊重线程优先级的锁?我查看了例如Guava的Monitor实施,但它根本没有查看优先级


我知道这是一个实时系统的研究课题,有很多标准算法,但我没有严格的延迟保证。我主要需要一个经过良好测试的实现。

在这种情况下,我建议您尝试读/写锁。看看这里,不确定RW锁会有什么帮助?我有一个一次只能由一个线程输入的关键部分(即,我们没有可以同时输入的多个读卡器,这是RW锁的情况)。当多个线程在等待锁时,我只希望一个特定的线程在进入时优先于所有其他线程。这不是RW锁的语义。@之所以建议使用RW锁,可能是因为您的问题很难理解。你能给我们看一些伪代码或任何能更好地说明你想要什么的东西吗?为什么发出普通锁信号的特殊锁会在同一个锁上等待?@eof您对等待锁的线程数量有限制吗?它是固定的线吗?你能不能换一种设计?例如,一个线程负责执行关键部分,它正在等待来自其他线程的请求队列。然后,您可以将其设置为优先级队列。在这种情况下,我建议您尝试读/写锁定。看看这里,不确定RW锁会有什么帮助?我有一个一次只能由一个线程输入的关键部分(即,我们没有可以同时输入的多个读卡器,这是RW锁的情况)。当多个线程在等待锁时,我只希望一个特定的线程在进入时优先于所有其他线程。这不是RW锁的语义。@之所以建议使用RW锁,可能是因为您的问题很难理解。你能给我们看一些伪代码或任何能更好地说明你想要什么的东西吗?为什么发出普通锁信号的特殊锁会在同一个锁上等待?@eof您对等待锁的线程数量有限制吗?它是固定的线吗?你能不能换一种设计?例如,一个线程负责执行关键部分,它正在等待来自其他线程的请求队列。然后可以将其设置为优先级队列。