倒计时锁存器以信号量作为唯一的同步原语

时间:2013-09-22 18:12:50

标签: java eclipse nachos

任何人都可以解释如何使用信号量编程Countdown latch作为唯一允许使用的同步原语。感谢。

1 个答案:

答案 0 :(得分:1)

倒计时锁存器允许您等待锁存器,直到它的当前计数减少到零。这意味着你可以让一个线程等到其他线程完成一定数量的工作,每个线程在完成任何工作时都会倒计时。

信号量允许您为任务分配许可。您可能只需要10个许可证,因此要求许可证的第11个任务必须等到另一个任务返回一个。

例如,你可以拥有一个只有1个许可证的信号量,然后锁定它。这将导致与同步方法/块相同的行为。返回许可证后,另一个线程可以获取它以进入锁定的块。

 sem.acquire();

 doSomeStuff();

 sem.release();

如果只用1个许可证初始化信号量,那么它与:

相同
synchronized(someLock) {

  doSomeStuff();

}