了解java.lang.Thread.interrupt() 的函數
呼叫時,java.lang.Thread.interrupt()方法修改目標線程的中斷狀態或標誌。隨後,在該目標執行緒中執行的程式碼可以定期檢查中斷狀態並做出相應回應。
特別是,某些阻塞方法(如Object.wait())會立即檢索並耗盡中斷狀態,從而觸發適當的異常(通常是InterruptedException) ).
此外,值得注意的是,Java 中的中斷缺乏先發制人的行為。這意味著中斷發起者和被中斷線程都必須主動參與處理中斷。因此,如果目標執行緒忽略輪詢中斷狀態,則中斷實際上被丟棄。
要檢查中斷狀態,可以使用 Thread.interrupted() 函式。此方法同時檢索目前執行緒的中斷狀態並擦除該中斷標誌。之後,執行緒通常會透過拋出 InterruptedException 或執行其他必要的操作來做出反應。
也值得注意的是,特定的 API 方法具有內建的中斷處理。例如:
執行緒中斷是一種微妙的技術,用於促使執行緒正常終止。與 Thread.stop() 的行為更像是對線程的突然攻擊相反,中斷為線程提供了乾淨退出的機會。
以上是Java 的 Thread.interrupt() 是如何運作的,執行緒如何回應中斷?的詳細內容。更多資訊請關注PHP中文網其他相關文章!