Waiting for a Timer to finish in Java
问题 I'm using java.util.Timer to schedule a periodic task. At one point, I'd like to shut it down, and wait for it to finish . Timer.cancel() will prevent any future tasks from running. How do I make sure any tasks are not running at the moment (or wait for them if they are?) I can introduce external synchronization mechanisms, but I don't see how they can cover all cases. For example, if I synchronize on some Monitor within the task, I still miss the case when the task just started executing but