package com.yy.threadmethod;public class Demo2_CurrentThread {
/*** public static Thread currentThread()返回對當前正在執行的線程對象的引用。 * 返回:當前執行的線程。返回的是一個Thread* 該方法主要是為了協助 實現通過Runnable接口來對線程進行設置和獲取線程的名稱的* */public static void main(String[] args) {new Thread (){ //匿名內部類;public void start()是Thread類中的方法;new Thread (){}繼承Thread這個類public void run(){System.out.println(this.getName() + " aaaaa"); }}.start(); //開啟一個線程//第一個線程new Thread(new Runnable(){ //new Runnable(),實現Runnable接口;new Runnable(){...}這些是Runnable的的一個子類對象,并不是Thread的子類對象,所以不能直接使用Thread類中的方法//若非得想要getName()這個方法,得想法獲取當前正在執行的線程,通過currentThread(),來獲取,它是靜態的方法,所以直接 類名. 調用即可public void run(){ //重寫run方法System.out.println(Thread.currentThread().getName() + " bbbbb");//public static Thread currentThread():返回對當前正在執行的線程對象的引用 。也就是 獲取到當前正在執行的線程,然后在通過getName()方法,拿到名字//Thread.currentThread():表示獲取到當前正在執行的線程,然后在通過 .getName() 來獲取線程的名稱//然后將 new到.start()之間的內容當成參數傳給Thread的構造方法(new Thread())就可以啦}}).start(); //然后,通過.start()方法,開啟線程//第二個線程//寫在主線程這個方法里面了,就意味著獲取主線程的名稱Thread.currentThread().setName("我是主線程"); //設置主線程的名稱 //第三個線程,也就是主線程System.out.println(Thread.currentThread().getName()); //獲取主線程的名稱}}