【发布时间】:2023-04-02 15:17:01
【问题描述】:
我有一个缓冲区,许多线程将在其中写入(每次写入减少 CountDownLatch 的计数)。我还有一个线程(我们称之为主线程)在同一个 CountDownLatch 实例上等待。无论如何,一旦计数达到零,我是否可以确保主线程是立即安排的线程?给予主线程最大优先级有效吗?还是有其他稳健的方法?
【问题讨论】:
-
所以你本质上想要最高优先级的线程等待条件?这没有多大意义。您是否因为这个线程的“优先级太低”而面临一些问题?
-
这是实际要求,因为缓冲区中有所需数量的 msg,我需要将它们推送到其他位置,这是应该首先发生的活动。因此,执行此操作的线程必须抢占其他所有线程。
-
So the thread that does this has to preempt every other thread.- 您应该使用适当的同步,而不是摆弄操作系统调度程序语义。
标签: java multithreading java.util.concurrent