【java】【多執行緒】獲取和設定執行緒名字、獲取執行緒物件(3)

love_Aym發表於2018-04-15

一、獲取名字和設定名字  (掌握)

1.獲取名字

  • 通過getName()方法獲取執行緒物件的名字:如果不設定名字。預設為Thread-0、Thread-1。

2.設定名字(兩種方式:構造、setName())

  1)通過建構函式可以傳入String型別的名字

new Thread("xxx") {
        public void run() {
             for(int i = 0; i < 1000; i++) {
                  System.out.println(this.getName()+ "....aa");
              }
         }
     }.start();

2)通過setName(String)方法可以設定執行緒物件的名字

new Thread() {
    public void run() {
         this.setName("");
             for(int i = 0; i < 1000; i++) {
                   System.out.println(this.getName()+ "....aaaaaaaaaaaaaaaaaaaaaaa");
             }
     }         
 }.start();
 Thread t1 = new Thread() {
          public void run() {
               for(int i = 0; i < 1000; i++) {
                     System.out.println(this.getName()+ "....aaaaaaaaaaaaaaaaaaaaaaa");
                }
           }
    };

    t1.setName("芙蓉姐姐");
    t1.start();


二、獲取當前執行緒的物件(掌握)

currentThread():返回對當前正在執行的執行緒物件的引用,返回的是一個Thread

* Thread.currentThread(), 主執行緒也可以獲取 

new Thread(new Runnable() {
	public void run() {
		for(int i = 0; i < 1000; i++) {
			System.out.println(Thread.currentThread().getName() + "...aa");
		}
	}
}).start();
			
new Thread(new Runnable() {
	public void run() {
		for(int i = 0; i < 1000; i++) {
			System.out.println(Thread.currentThread().getName() + "...bb");
		}
	}
}).start();
	Thread.currentThread().setName("我是主執行緒");	        //獲取主函式執行緒的引用,並改名字,在
	System.out.println(Thread.currentThread().getName());	//獲取主函式執行緒的引用,並獲取名字



相關文章