我正在進入Java中的信號量並正在讀這篇文章http://docs.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/Semaphore.html。我沒有得到的唯一原因是爲什麼在同步上下文中不使用acquire()方法。從上面的網站看一下例子:爲什麼Semaphores中的acquire()方法不必同步?
他們創造一個信號:
private Semaphore semaphore = new Semaphore(100);
和得到的只是這樣一個許可證:
semaphore.acquire();
現在,是不是很可能兩個或更多的線程嘗試同時獲取()?如果是這樣,那麼計數會有一點問題。
或者,信號量本身是否處理同步?