【发布时间】:2011-08-21 16:07:34
【问题描述】:
我有一个调用,从用户那里接收作业列表,说用户发布了 3 个作业 A、B 和 C,它们都开始在自己的线程 AT、BT 和 CT 中执行,然后我开始监视这 3 个线程,如果其中一项工作失败说 B 失败,我需要发出信号 A 和 C 停止。当所有线程停止时返回,当一个失败时全部成功为true。
目前我有一个大的 while 循环,它会检查并休眠 50 毫秒,这很有效,但我想知道我是否有更好的方法可以在没有任何睡眠的情况下执行此操作,我尝试休眠 0 毫秒 AFAIK 这让我的线程到 cpu que 结束,但它仍然使用了太多的 cpu,大约 60%。
【问题讨论】:
标签: java concurrency java.util.concurrent