new Thread(){
public void run() {
super.run();
}
}.start();
new Thread(new Runnable() {
public void run() {
}
}).start();
這2種方法有什麼區別?為什麼用上面這種有問題
第一種方法Thread的start方法只能調用一次,執行完之後不能再調用否則就會出錯,下面的方法則不會。
第一種方法,start的源碼裡面有如下結構
while(falg){
}
flag剛開始為true,start執行完之後,flag置為false,循環體不會再執行,所以運行結果會出錯