Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在 SO 这个问题上发现非常相似,但是并没有完全回答我的问题。使用带有公平(布尔)参数的重载构造函数是否java.util.concurrent.Sempaphore;保证等待获取的线程的FIFO?提前致谢。
java.util.concurrent.Sempaphore;
它建立一个等待线程队列来获取信号量。这使它变得相当慢,但是将按照线程添加到队列的顺序给出许可。
注意:由于可能在多个线程中发生竞争条件,您不能说尝试获取信号量的线程将首先添加到队列中,例如,如果它在尝试获取信号量和被添加到队列之间暂停。