17
任何人都可以分享使用信號量的簡單樣本嗎? 如果可能的話解決一個任務沒有信號量,然後用信號量來理解它的主要思想。信號簡單樣本
任何人都可以分享使用信號量的簡單樣本嗎? 如果可能的話解決一個任務沒有信號量,然後用信號量來理解它的主要思想。信號簡單樣本
下面是一個簡單的信號實現:
public class Semaphore {
private boolean signal = false;
public synchronized void take() {
this.signal = true;
this.notify();
}
public synchronized void release() throws InterruptedException{
while(!this.signal) wait();
this.signal = false;
}
}
的take()
方法發送其內部存儲在信號量的信號。 release()
方法等待信號。收到信號標誌後再次清除,並退出release()
方法。
閱讀this article,並採取看看這個example
的Javadoc,'java.util.concurrent.Semaphore'有一個例子。 (和谷歌有更多,順便說一句:*信號量的例子Java *) – 2012-03-26 07:55:12