public class ThreadNaming extends Thread {
public void run(){
System.out.println(Thread.currentThread().getName());
}
public static void main(String args[]){
Thread t1 = new ThreadNaming();
Thread t2 = new ThreadNaming();
t1.start();
System.out.println(t1);
t2.start();
System.out.println(t2);
}
}
輸出: 螺紋[線程0,5,主] 線程0 螺紋[線程1,5,主] 線程1默認命名螺紋的公約
public class ThreadOddNaming extends Thread {
public void run(){
System.out.println(Thread.currentThread().getName());
}
public static void main(String args[]){
Thread t3 = new Thread(new ThreadOddNaming());
Thread t4 = new Thread(new ThreadOddNaming());
t3.start();
t4.start();
System.out.println(t3);
System.out.println(t4);
}
}
輸出: 主題[主題-1,5,主] 線程3 線程1 主題[主題-3,5,主]
現在,我有兩個問題。
- 當使用具有類名(擴展線程)構造函數的新關鍵字創建線程時,線程命名是整數以0,1,2,3 ...(n-1)開始。 但是當用螺紋構造函數傳遞類名(擴展Thread)作爲參數,直接創造了它,那麼線程命名奇數1,3,5開頭..(2N-1)
爲什麼這種行爲是顯示或者平臺是否穩定? (我在windows系統中運行這個程序)。 或者,它可能會針對不同的平臺顯示不同的行爲?
- 每當我們打印任何線程對象,爲什麼線程的優先級總是被分配給一個線程是NORM_PRIORITY 5.
默認優先級。 那麼,NORM_PRIORITY的值是5嗎?
因爲'new Thread(new ThreadOddNaming())'創建了兩個Thread實例。 – saka1029