要取消ScheduledExecutorService中的任務,您需要執行以下步驟:
ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
schedule或scheduleAtFixedRate或scheduleWithFixedDelay方法安排任務:ScheduledFuture<?> future = scheduler.schedule(() -> {
System.out.println("Task is running");
}, 10, TimeUnit.SECONDS);
future.cancel()方法:boolean mayInterruptIfRunning = true; // 如果任務正在運行,是否允許中斷
future.cancel(mayInterruptIfRunning);
mayInterruptIfRunning參數表示如果任務正在運行,是否允許中斷。如果設置為true,則正在運行的任務將被中斷。如果設置為false,則只有尚未開始的任務將被取消。
scheduler.shutdown();
這將確保所有已安排的任務都被取消,并且不會再接受新的任務。如果您希望在關閉之前等待所有已安排的任務完成,可以使用scheduler.shutdownNow()方法。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。