我正在使用java.util.Timer来安排定期任务.有一次,我想关闭它,等待它完成.
Timer.cancel()将阻止任何未来的任务运行.我如何确保当前没有任何任务正在运行(如果是的话,还是等待它们?)
我可以引入外部同步机制,但我不知道它们如何涵盖所有情况.例如,如果我在任务中的某个Monitor上进行同步,我仍然会错过任务刚刚开始执行但没有使用监视器的情况.
等待所有任务真正完成的建议做法是什么,包括当前正在运行的任务?
java synchronization timer monitor
java ×1
monitor ×1
synchronization ×1
timer ×1