use*_*896 17 java multithreading
任何人都可以分享使用信号量的简单样本吗?如果有可能是一个没有信号量的解决任务的样本,然后用信号量来理解它的主要思想.
Clo*_*ble 20
这是一个简单的信号量实现:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
该take()方法发送信号,该信号存储在信号量内部.该release()方法等待信号.当接收到信号标志再次被清除时,该release()方法退出.
| 归档时间: |
|
| 查看次数: |
15763 次 |
| 最近记录: |