谈谈Semaphore的公平与非公平信号量
答:
private boolean isFair = false;
private Semaphore semaphore = new Semaphore(1,isFair);
所谓的公平信号量是获得锁的顺序与调用semaphore.acquire()的顺序有关,但不代表100%地获得信号量,仅仅是在概率上能得到保证。而非公平信号量就是无关的了。
当isFair=false表示非公平信号量
当isFair=true表示公平信号量
本文链接:http://www.yayihouse.com/yayishuwu/chapter/1395