最贊回答 / 彪子的刀子
當調用了wait方法后,線程是先釋放掉了鎖才進入了wait set的,當調用notify方法喚醒wait set里的線程后,線程獲得cpu資源則會重新去獲取鎖,重新去判斷條件,而不是處在之前沒有滿足條件的狀態。
2017-04-04
最新回答 / kuhaku_
thread調用了interrupt()方法,?并不是如字面意義上就會將線程終止,?而是將線程的終止狀態設置為true,?使isInterrupted()方法返回ture,?而這個時候while循環里的判斷條件又沒有提到isInterrupted()方法,?所以即使thread調用了interrupt()方法,?對這個循環也沒有任何影響啊,?所以線程還是會一直執行下去
2017-03-29
最新回答 / qq_fearless_6
http://www.cnblogs.com/zhengbin/p/5654805.html 這個解釋比較好, 我個人理解是:不使用volatile可能會造成,賦值在主線程之后,會導致while循環中的條件判斷值第一時間不是正確值,導致多余的循環次數
2017-03-19
已采納回答 / 小羊楊
Tread的繼承對象可以 直接使用getName(),而?Runnable的實現對象需要使用Thread.currentThread().getName()
2017-03-14
最贊回答 / wendy4165364
public class Stage extends Thread { public void run() {<...code...>System.out.println("舞臺線程"); try { Thread.sleep(1000); } catch (InterruptedException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } System.out.prin...
2017-02-27