Thread对象除了start()、run()方法外,还有一些构造方法、成员方法、静态方法
【有参构造-1】Thread(String name):创建线程对象,调用Thread的有参构造设置线程名称
// 创建线程对象,调用Thread的有参构造设置线程名称
Thread thread = new Thread("Thread常见方法");
值得一提的是,Thread有这个构造方法,为什么继承Thread类的MyThread无法直接使用呢?
分析源码可知,MyThread是我们自己创建的,Thread类的构造方法子类中是不能继承的
【有参构造-2】Thread(Runnable target, String name) :用多线程的第二种创建方式,并给线程命名
// 用多线程的第二种创建方式,并给线程命名
Thread thread = new Thread(() -> System.out.println("thread线程"), "Thread常见方法");
System.out.println(thread.getName());
【方法一】String getName():获取线程的名称
// Thread(String name):创建线程对象,调用Thread的有参构造设置线程名称
Thread thread = new Thread("Thread常见方法");
// 获取线程的名称
System.out.println(thread.getName());
【方法二】void setName():设置线程名称
// Thread(String name):创建线程对象,调用Thread的有参构造设置线程名称
Thread thread = new Thread("Thread常见方法");
// 获取线程的名称
System.out.println("修改前的线程名称=" + thread.getName());
thread.setName("修改线程名称");
System.out.println("修改后的线程名称=" + thread.getName());
【Thread静态方法】Thread currentThread():返回当前线程对象
// 用多线程的第二种创建方式,并给线程命名
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
// 获取当前线程对象并打印
System.out.println(Thread.currentThread());
}
}, "Thread常见方法");
// 启动线程
thread.start();
// 获取当前线程对象并打印
System.out.println(Thread.currentThread());