【C#】4種方法優(yōu)雅的關(guān)閉線程Thread
當(dāng)前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
其實現(xiàn)在已經(jīng)很少會單獨用Thread開啟一個線程任務(wù)了,剩下還有一些情況,比如說單獨開啟一個線程讀取數(shù)據(jù)庫數(shù)據(jù),然后把讀到的數(shù)據(jù)提交到線程池中處理。 一般來說會這樣處理:
那什么情況下需要關(guān)閉線程呢,當(dāng)然是我不想再處理任務(wù)的時候了。Thread有提供stop方法,但是由于不安全,已經(jīng)被棄用了。 方式一:讓任務(wù)執(zhí)行完畢這可不是開玩笑,Thread任務(wù)執(zhí)行完畢,自己就關(guān)閉了,不需要特地去關(guān)。 方式二:volatile控制boolean關(guān)閉當(dāng)run方法中式while(true)循環(huán)的時候就需要通過boolean標(biāo)志去控制了。
方式三:AtomicBoolean控制關(guān)閉同樣地,也可以用AtomicBoolean去控制。
方式四:通過interrupt()方法Thread自帶interrupt()方法,可以發(fā)送一個中斷請求,通過isInterrupted()來判斷是否中斷。
由此有了4種方法中斷線程。 該文章在 2024/3/31 1:07:06 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |