Thread类的常用方法_获取线程名称的方法和Thread类的常用方法_设置线程名称的方法
构造方法:
public Thread();分配一个新的线程对象
public Thread(String name);分配一个指定名字的新的线程对象
public Thread(Runnable target);分配一个带有指定目标新的线程对象
public Thread(Runnable target,String name);分配一个带有指定目标新的线程对象并指定名字
常用方法:
public String getName() 获取当前线程名称.
public void start();导致次线程开始执行;java虚拟机调用此线程的run方法。
public void run();此线程要执行的任务在此定义代码
public static void sleep(long millis);使当前正在执行的线程以指定的毫秒数暂停(暂时停止执行)
public static Thread currentThread();返回堆正在执行的线程对象的引用
//线程的名称:
//Thread类中的方法getName().
//String getName();返回当前线程的名称
//可以线获取当前正在执行的线程,使用线程中的方法getName()获取线程的名称
//static Thread currentThread();返回对当前正在执行的线程的对象的引用
package com.yang.Test.ThreadStudy;
public class MyThread extends Thread{
@Override
public void run() {
// String name = getName();
// System.out.println(name);
/* Thread thread = Thread.currentThread();
System.out.println(thread);
String name = thread.getName();
System.out.println(name);*/
System.out.println(Thread.currentThread().getName());
}
}
package com.yang.Test.ThreadStudy;
/**
* 线程的名称:
* 主线程main-0
* 新线程:Thread-0,Thread-1,Thread-2
*/
public class GetThreadName {
public static void main(String[] args) {
MyThread myThread = new MyThread();
myThread.start();
new MyThread().start();
}
}
设置线程名称的方法
public class SetThreadName {
public static void main(String[] args) {
/* MyThread myThread = new MyThread();
myThread.setName("线程1");
myThread.start();*/
//第二种方式
new Thread(new MyThread(),"线程1").start();
}
}
package com.yang.Test.ThreadStudy;
/**
* 设置线程的名称:
* 1.使用Thread类中的方法setName(名称);
* void setName(String name);
* 改变线程的名称,使之与参数name相同
* 2.创建一个带参数的构造方法,参数传递的就是线程的名称;调用父类的带参构造方法,把线程名称传递给父类,让父类(Thread)给子线程起一个名字
*/
public class MyThread extends Thread{
@Override
public void run() {
System.out.println(Thread.currentThread().getName());
}
}