Thread.stop()的Java文檔使得它聽起來像世界將結束,如果你曾經調用Thread.stop()。何時可以在Java中使用Thead.stop()?
已棄用。這種方法本質上是不安全的。使用 停止線程Thread.stop會導致它解除鎖定的所有監視器 (作爲未檢查的ThreadDeath異常 傳播堆棧的自然結果)。如果這些監視器先前受保護的對象 處於不一致狀態,則損壞的對象 對其他線程可見,可能導致任意的 行爲。停止的許多用途應該被代碼所取代,代碼只需 修改某些變量以指示目標線程應停止 運行。目標線程應定期檢查此變量,如果變量 指示它將停止運行,則 將按順序從其運行方法返回。如果目標線程長時間等待 (例如,在條件變量上),則應該使用中斷 方法來中斷等待。有關更多信息,請參閱 爲什麼Thread.stop,Thread.suspend和Thread.resume已過時?
例如,如果我在第三方運行一個方法,封閉源代碼庫,並且我需要保證它在5分鐘或更短時間內結束,那麼還有其他方法嗎?使用Thread.stop()的真實世界的後果是什麼?我怎樣才能確定它們是否發生?
其中一個後果是可能會從將來的版本中刪除不推薦使用的方法,從而導致您的代碼無法編譯/無法運行。 – 2014-09-22 22:09:51
簡短回答:從不。 – 2014-09-22 22:10:38
查找thread.interupt。這是取代停止的方法。 – TheBat 2014-09-22 22:12:32