使用信号量保证FIFO?

时间:2013-06-01 08:53:26

标签: java semaphore fifo

我在SO上发现这个问题非常相似,但并没有完全彻底回答我的问题。 带有重载构造函数的java.util.concurrent.Sempaphore;是否也采用了公平性(boolean)参数,保证等待获取的线程的FIFO? 提前谢谢。

1 个答案:

答案 0 :(得分:2)

它构建一个等待线程的队列来获取信号量。这使它变得相当慢,但是将按照线程添加到队列的顺序给出许可。

注意:由于多个线程中可能出现的竞争条件,您不能说尝试获取信号量的线程将首先添加到队列中,例如如果它在尝试获取信号量和被添加到队列之间暂停。