0
接下来是一个简单的信号量实现。如何解释信号量处理操作?
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;
}
}
这是真的,是通过调用取()旗语模仿信号采集和唤醒随机选择的线程(如果它确实存在),并通过调用release(),如果没有收购,旗语力电流信号(触发)线程等待notify()但将信号采集设置为false?
这是否意味着,如果我有3个线程的单个信号量,那么我将不得不为每个线程在线程安全的代码部分运行take() - release()对?
用过的互斥。谢谢你的建议! – 2010-09-29 23:33:40