mik*_*era 9 java concurrency blocking
在Java中实现阻塞函数调用的推荐/最佳方法是什么,以后可以通过另一个线程的调用解除阻塞?
基本上我想在一个对象上有两个方法,第一个调用阻塞任何调用线程,直到第二个方法由另一个线程运行:
public class Blocker {
/* Any thread that calls this function will get blocked */
public static SomeResultObject blockingCall() {
// ...
}
/* when this function is called all blocked threads will continue */
public void unblockAll() {
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
意图BTW不仅仅是为了获得阻塞行为,而是编写一种方法,在可以计算所需结果的某个未来点之前阻塞.
Sim*_*son 15
您可以使用CountDownLatch.
latch = new CountDownLatch(1);
Run Code Online (Sandbox Code Playgroud)
要阻止,请致电:
latch.await();
Run Code Online (Sandbox Code Playgroud)
要取消阻止,请致电:
latch.countDown();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14914 次 |
| 最近记录: |