為什麼執行緒會放棄Suspend和Resume方法
阿新 • • 發佈:2019-02-13
記錄一下,多久沒看youku了哦,有鬥魚,有樂視,還有翻牆,真的很久沒開啟優酷了
百度一下,
說什麼
“suspend()方法就是將一個執行緒掛起(暫停),resume()方法就是將一個掛起執行緒復活繼續執行”
你傻啊,中文誰不知道,但是你用的時候提示depecated,
有橫線,知道不?
又或者發英文
《Why thead depecated suspend, resume》
會英文了不起啊
你看完有結論沒?
沒有你知道轉帖浪費別人時間
浪費時間就是浪費生命啊
程式設計師的生命就是查百度嘛
所以沒有浪費是吧
把轉帖的英文看了個遍,沒看出什麼來
就知道sychonize和interrupt
也就是suspend不能用
有人說dep也是能用啦,不用擔心
那你用用看吧
要真能用,網上就不會那麼多文章提到interrupted,(如果真有re-interrupted,如suspend和resume是一對,執行緒能終止就能啟動,那就不用dep了,所以interrupted的機制肯定和我們理解的不一樣)
還不信?
t1 = new Thread(new Runnable() {
@Override
public void run() {
while(true){
try {
Thread.sleep(1000 );
Log.e(TAG,"sleep 1 sec");
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
break;
}
}
}
});
t1.start();
t1.suspend();//如果執行緒還在Sleep,直接報錯,執行緒直接死掉
估計其他不確定因素也會造成執行緒死掉,
所以
結論是
suspend和resume就是廢的。