2
我想正常關閉線程。我在網上看到很多代碼,並在這裏查詢。 我認爲有兩種關機的方法。中斷Java中的線程
- 使用布爾標誌。一旦標誌chnages,我們可以在運行方法中破壞代碼。
- 使用中斷方法。
我的問題爲什麼避免使用布爾標誌來正常關閉線程,當我運行示例程序時,它運行良好。
我想正常關閉線程。我在網上看到很多代碼,並在這裏查詢。 我認爲有兩種關機的方法。中斷Java中的線程
我的問題爲什麼避免使用布爾標誌來正常關閉線程,當我運行示例程序時,它運行良好。
沒有什麼錯boolean
標誌,但是:
你需要記住的同步/能見度(至少在標誌放volatile
)
爲什麼增加一個額外的標誌,當一個已經實施(interrupted
)?
其他庫/容器可能試圖打斷你的線程(畢竟,他們不知道你的標誌!),所以你仍然需要支持InterruptedException
和/或isInterrupted()
標誌
中斷線程也中斷I/O調用和Thread.sleep()
。您的自定義標誌不能