簡體   English   中英

處理 Java 中的掛起線程

[英]Handling Hung Thread in Java

如果線程掛在 Java 的任務執行中的某個地方,有人可以指導我如何處理線程嗎?

假設我們有 10 個由父線程創建的線程,並且在這種情況下第一個子線程在其執行中掛起,我希望 9 個線程的 rest 能夠正常執行它們的部分。 那么,我們總共可以通過多少種不同的方式來實現這一目標? - 在 Java

PS-這是在一次采訪中被問到的。

最好分析一下為什么線程會掛起 state 並修復它。 一定有什么原因去掛state。 否則,您可以檢查線程是否在 X 毫秒內完成,如果沒有完成,則終止它。

對於初學者,您應該調查並嘗試找出導致線程掛起的核心原因。

在實現方面,我將 go 用於偵聽器/觀察者模式,其中所有子線程都可以在其工作完成后通知父線程。 為此,父級將引用其所有子線程。 一旦所有的孩子都通知了父母,它就可以安全地解除所有資源的分配並自行終止。

在子線程從不響應父線程的情況下,您可以定義一個max-time-out超過該時間您認為線程掛起,然后從父偵聽器終止它。

希望這可以幫助 !!

暫無
暫無

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

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