有谁知道是否有执行以下操作的任何闩锁实现:
- 有一种方法来减少锁存器的值,或者如果值为零则等待
- 有等待锁存值为零的方法
- 有一种方法可以将数字添加到锁存器的值中
最佳答案
您也可以使用 Phaser (java.util.concurrent.Phaser)
final Phaser phaser = new Phaser(1); // register self
while (/* some condition */) {
phaser.register(); // Equivalent to countUp
// do some work asynchronously, invoking
// phaser.arriveAndDeregister() (equiv to countDown) in a finally block
}
phaser.arriveAndAwaitAdvance(); // await any async tasks to complete
我希望这会有所帮助。
关于java - 可以递增的锁存器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14255019/