Thread常用方法
常用方法 | 描述 |
---|---|
isAlive() | 線程是否存活 |
currentThread() | 表示當前線程 |
setName() | 設置名稱 |
getName () | 獲取名稱 |
public class Test {
public static void main(String[] args) {
As a = new As();
Thread t = new Thread(a);
t.start();
t.setName("戰鬥機");//設置線程名字
System.out.println("start線程是否存活:"+t.isAlive());//判斷線程是否存活
try {
Thread.sleep(1000);//增加效果(因爲main也是線程)
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("end線程是否存活:"+t.isAlive());//判斷線程是否存活
}
}
class As implements Runnable{
public void run() {
System.out.println(Thread.currentThread().getName()+"你好");//獲取線程名字
}
}
爲什麼要加sleep(1000)?
因爲:
當main方法開始執行,到t.start()開啓線程,此時As類的run()方法開始執行。
此時兩邊互不影響,你執行你的,我執行我的。
區別:
接着main方法繼續執行,執行到Thread.sleep(1000)時,假設這裏沒有此休眠,則會繼續往下執行,最後輸出“end線程是否存活”,此時run()方法可能還未結束,這樣就失敗了。
好,假設加了sleep休眠,則此時main方法停止執行,接下來run()方法就執行完畢,最後輸出“end線程是否存活”。
文章最後:
如果此文章有什麼不足的,請聯繫我
QQ:1178434749
VX:wuwen1178434749
我會進行一些補充
歡迎各位大佬點評,謝謝!