310Thread类的常用方法获取线程名的方法和311设置线程名称的方法
Thread类的常用方法获取线程名的方法
/**
* 获取线程的名称:
* 1.使用 Thread类中的方法 getname()
* string getname()返回该线程的名称
* 2.可以先获取到当前正在执行的线程,使用线程中的方法getname()获取线程的名称
* static Thread current thread()返回对当前正在执行的线程对象的引用。
*/
public class demo02Date {
public static void main(String[] args) {
//创建Thread类的子类对象
MyTherad mt = new MyTherad();
//调用start方法,开启信线程,执行run方法
mt.start();
new MyTherad().start();
}
}
//从新定义一个Therad子类
class MyTherad extends Thread{
//重写MyThread类种的run方法,设置线程任务
@Override
public void run() {
// //获取多线程名称
// String name =getName();
// System.out.println(name);
// Thread t = Thread.currentThread();
// System.out.println(t);
//
// String name =t.getName();
// System.out.println(name);
//链式表
System.out.println(Thread.currentThread().getName());
}
}
public class MyThread extends Thread{
//重写Thread中的run方法,设置线程任务
public void run() {
//获取线程名称的第一种方法
String name=getName();
System.out.println(name);
}}
//获取线程名称的第二种方法
public class MyThread extends Thread{
//重写Thread中的run方法,设置线程任务
public void run() {
//获取线程名称的第二种方法
Thread t=Thread.currentThread();
System.out.println(t);
}}
//获取线程名称的第三种方法
public class MyThread extends Thread{
//重写Thread中的run方法,设置线程任务
public void run() {
//链式编程
System.out.println(Thread.currentThread().getName());
}}
main方法调用
public class Demo01GetThreadName {
public static void main(String[] args) {
//创建Thread类的子类对象
MyThread mt=new MyThread();
//调用start方法,开启新线程,执行run方法
mt.start();
new MyThread().start();
new MyThread().start();
new MyThread().start();
//获取主线程的名称
System.out.println(Thread.currentThread().getName());
}}
设置线程名称的方法
设置线程的名称:(了解)
1.使用 Thread类中的方法
setname(名字)void setname( String name)改变线程名称,使之与参数name相同。
2.创建一个带参数的构造方法,参数传递线程的名称;调用父类的带参构造方法,把线程名称传递给父类,
让父类(Threσd)给子线程起一个名字Thread( String name)分配新的 Thread对象。
public class MyThread extends Thread{ public MyThread(){} public MyThread(String name){ super(name);//把线程名称传递给父类,让父类(Thread)给子线程起一个名字 } @Override public void run() { //获取线程的名称 System.out.println(Thread.currentThread().getName()); } } package com.itheima.demo02.setName; public class Demo01SetThreadName { public static void main(String[] args) { //开启多线程 MyThread mt = new MyThread(); mt.setName("哈嗨"); mt.start(); //开启多线程 new MyThread("乐迪").start(); }}

浙公网安备 33010602011771号