命名線程和當前線程
Thread
類提供了更改和獲取線程名稱的方法。默認情況下,每個線程都有一個名稱,即thread-0
,thread-1
, ...
等。 可以使用setName()
方法更改線程的名稱。 setName()
和getName()
方法的語法如下:
-
public String getName()
: 用於返回線程的名稱。 -
public void setName(String name)
: 用於更改線程的名稱。
命名線程的示例
package com.yiibai;
class TestMultiNaming1 extends Thread {
public void run() {
System.out.println("running...");
}
public static void main(String args[]) {
TestMultiNaming1 t1 = new TestMultiNaming1();
TestMultiNaming1 t2 = new TestMultiNaming1();
System.out.println("Name of t1:" + t1.getName());
System.out.println("Name of t2:" + t2.getName());
t1.start();
t2.start();
t1.setName("New ThreadName");
System.out.println("After changing name of t1:" + t1.getName());
}
}
執行上面示例代碼,得到以下結果:
Name of t1:Thread-0
Name of t2:Thread-1
After changing name of t1:New ThreadName
running...
running...
當前線程
currentThread()
方法返回當前正在執行的線程的引用。函數的原型如下:
public static Thread currentThread()
currentThread()方法的示例
package com.yiibai;
class TestMultiNaming2 extends Thread {
public void run() {
System.out.println(Thread.currentThread().getName());
}
public static void main(String args[]) {
TestMultiNaming2 t1 = new TestMultiNaming2();
TestMultiNaming2 t2 = new TestMultiNaming2();
t1.start();
t2.start();
}
}
執行上面示例代碼,得到以下結果:
Thread-1
Thread-0