執行緒如何終止呢?

2021-10-07 00:09:54 字數 375 閱讀 3155

執行緒終止的三種方法

1、直接呼叫執行緒的stop方法

通過stop方法可以很快速、方便地終止乙個執行緒

那為什麼jdk不推薦使用stop終止執行緒的方法的原因,因為它很暴力會帶來資料不一致性的問題。

如果你確定直接終止對你的業務邏輯沒有影響,也可以使用,但是因為被@deprecated標註了,jdk在以後的版本中可能被移除,不建議大家使用這種api。

2、通過條件判斷,執行緒在執行的時候判斷一下,條件判斷通過再執行,否則退出

3、通過呼叫給目標執行緒傳送乙個中斷訊號,也即呼叫interrupt()方法,然後目標執行緒判斷中斷標誌

備註:當執行緒在sleep的過程中被中斷,則中斷標誌會被清除,也即捕獲中斷異常之後,再判斷執行緒的中斷標誌是false

如何暫停和終止執行緒

你能看到這篇文章,說明你已經知道如何建立執行緒了,因此,這裡就不說明執行緒的建立了,詳細說一下執行緒的暫停和終止。我們首先了解一下,什麼是前台執行緒和後台執行緒。net的公用語言執行時 clr 能區分兩種不同型別的執行緒 前台執行緒和後台執行緒。這兩者的區別就是 應用程式必須執行完所有的前台執行緒才...

如何安全終止MFC執行緒

3 在檔案中定義執行緒傳遞引數的資料結構,如下 demodlg.h typedef struct thread param thread param 4 在cdemodlg類中新增成員變數,如下 demodlg.h protected cwinthread m pthread thread para...

那麼要怎麼終止乙個執行緒呢?

雖然thread.stop 方法可以結束乙個執行緒,但是eclipse已經將這個方法標註成乙個 廢棄 的方法,也就是不推薦使用,原因大家都知道,就是stop 方法直接終止執行緒並釋放掉鎖,容易造成一些對資料進行修改的執行緒出問題,例如導致多個執行緒讀到不一致的資料的情況。看看下面這個例子 要做的事情...