終斷乙個執行緒,可以用thread.interrupt( ) 和stop方法。
stop現在已經廢棄,不推薦使用。
stop 是不安全的,通過與interrupt()的比較,可以看到stop是**不安全。
**如下:
public class threadtest catch (exception e) finally }}
class mythread extends thread catch (exception e) }}
console輸出的結果是:
tryfinally
可以看到,stop終結乙個執行緒,並且釋放監控執行緒的所有資源。對於主線程來說,並不能再跟蹤執行緒的執行狀況,當執行緒出現異常也不能**獲。而其他執行緒並不知道被stop的執行緒出現了異常。這樣導致狀態不一致的情況產生。
注釋掉stop 一行,換用interrupt,進行測試。輸出結果是:
tryfinally
runexception
以下是jdk的英文。
/**
* forces the thread to stop executing.
* * if there is a security manager installed, itscheckaccess
* method is called with
this
為什麼需要靜態方法?
首先,定義乙個pizza類 class pizza object def cook self return 0 我們可以得到 cook是乙個方法。pizza.cook 要呼叫cook方法必須例項化pizza類。pizza.cook traceback most recent call last fi...
為什麼重寫toString方法
tostring方法來自於基類object如下 public string tostring 而我們為什麼在自己建立的類中需要經常性的重寫tostring方法呢?應用 在前後端分離的情況下,當前端向伺服器端發起請求時,伺服器端會將前端傳來的多個鍵值對資料封裝成乙個物件,而在 除錯過程中,我們需要具體...
為什麼為什麼為什麼為什麼為什麼你要做一名程式設計師?
from 本文是從 why why why why why are you a developer?這篇文章翻譯而來。做乙個程式設計師很忙,你需要去寫 去建立meme,去進行測試,以及隨時關注最新最熱的gem 開源軟體技術。最近,我一直在想讓自己的節奏慢下來,去做一些心裡一直想做但沒有去做的事,去思...