Java多線程常用方法,isAlive()、currentThread()、setName()、getName ()方法

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
我會進行一些補充
歡迎各位大佬點評,謝謝!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章