に送信されたタスクのリストがありExecutorService
ます。ただし、タスクが完了していなくても、午前2時30分の期限までにExecutorServiceをシャットダウンする必要があります。どうすればこれを達成できますか?APIを確認しましたが、以下のようなメソッドしかありません。
ExecutorService exec = //...
exec.awaitTermination(100, TimeUnit.MILLISECONDS);
しかし、どうすれば次のブロックをアトミックに実行させることができますか?つまり、どうすればギャップを回避できますか?例えば:
long timeDiff= calculate(now, deadline);
// Gap: assuming current thread does not have chance to run for 10 minutes...
exec.awaitTermination(timeDiff, TimeUnit.MILLISECONDS);
ありがとう。