相关疑难解决方法(0)

更好的方式来发信号通知其他线程停止?

启动了几个工作线程,需要通知他们停止.由于某些线程在下一轮工作之前会休眠一段时间,因此需要一种即使在睡觉时也能通知它们的方法.

如果是Windows编程,我可以使用Event和wait函数.在Java中我通过使用CountDownLatch对象来做到这一点,该对象的计数为1.它工作但感觉不优雅,特别是我必须检查计数值以查看是否需要退出:

run(){
    while(countDownLatch.count()>0){
            //working
            // ...
            countDownLatch.wait(60,TimeUnit.SECONDS);
    }
}
Run Code Online (Sandbox Code Playgroud)

信号量是另一种选择,但也感觉不对.我想知道有没有更好的方法呢?谢谢.

java

9
推荐指数
1
解决办法
8888
查看次数

标签 统计

java ×1