全部,
我有一个线程Checker(扩展线程类),它继续将数字从1000减少到0,并在数字达到0时停止。此外,减法之间的休眠时间是10秒,因此它继续像1000,990一样, 980 .....等等。此计数永久存储,因此在减少后不会重置为1000。
我需要实施以下情况:
如何在A类和B类之间实现这种同步?
同样从A类和B类启动检查线程是完全随机的。任何线程都可以随时启动。 如果A的Checker启动且B正在运行,那么它应该等到B完全关闭或停止。反之亦然。
答案 0 :(得分:0)
让他们分享single thread executor和submit任务。
Executor executor = Executors.newSingleThreadExecutor();
以下是Executors#newSingleThreadExecutor()
javadoc的相关摘录:
保证任务按顺序执行,任何给定时间都不会有多个任务处于活动状态。