2014-04-04 70 views
1

我想實現簡單的計數信號量來幫助併發性,並且當我在wait()中更多地在線研究主題時;和signal();命令我不斷看到有關如何將這些內置到java.util.conncurrent.semaphore包中的評論。在java中實現計數信號量

如果是這種情況,我怎樣才能使用帶有整數值的命令作爲等待和信號?或者我必須創建自己的等待();和signal()方法遞減/遞增存儲在信號量中的整數值?

例如:

wait(count); 

signal(count); 

做這項工作或做我需要定義等待和信號的方法自己:

Semaphore count = new Semapore(4); 

在課堂後來?

+0

您是在談論http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Semaphore.html#release(int)和http://docs.oracle.com/ javase/7/docs/api/java/util/concurrent/Semaphore.html#acquire(int)? –

+0

我想我是。我想我遇到的所有例子都有不同的語法,或者根據具體的程序需求進行了個性化設置。謝謝!我只會使用獲取和發佈。 –

回答

3

閱讀javadoc瞭解Semaphore類。您正在查找的方法稱爲acquirerelease,它們都可以採用整數參數。

+0

謝謝!是的,我想我看到的例子有不同的自定義獲取和釋放機制的語法 –