簡體   English   中英

如何從ExecutorService停止/暫停特定線程?

[英]How can I stop/pause particular thread from ExecutorService?

我有spring scheduler方法。 ExecutorService

@Scheduled(fixedRate = 5000) 
    public void startSchedule() throws IOException{
threadPool.submit(() -> {
            if(.......)return;
            try {
                generate(reportTasck);
            } catch (NurException | IOException e) {
                e.printStackTrace();
            }
        });
          }

每5秒鍾啟動我的方法,如果必要的話-用我的邏輯啟動新線程。 如何停止/暫停特定線程?

我在veb頁面上有按鈕,如果按此按鈕,則需要停止線程。

關於線程停止,已經有很多關於SO的討論。 由於多種原因,您不應停止或殺死線程,例如此處所述:

您如何殺死Java中的線程?

為了允許線程適當地清理其資源,線程應自行終止,例如通過使用共享變量或通過線程的中斷標志定期檢查某些條件來終止自身。 查看此答案以獲取更多詳細信息:

如何停止通過實現可運行接口創建的線程?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM