(44)通过继承创建线程对象的例子+getName+setName+currentThread()方法应用介绍
修改线程名称
Thread类中有getName(),setName方法,自定义类继承Thread类就继承了这些方法,若直接使用getName方法,名字不太容易识别,想要修改名称,就像继承Throwable类,在构造函数中直接调用super(name)一样,对Thread子类构造函数,做相应的修改即可。
public class Demo extends Thread{
Demo(String name){
super(name);
}
public void run() {
for(int i=0;i<10;i++) {
System.out.println(this.getName()+"run demo");//在Thread类中有实现的方法:
public static Thread currentThread()返回当前执行的线程对象的引用
this.getName()==Demo.currentThread().getName()[静态通过类名调用]
}
}
}
public class ThreadDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
Demo d1=new Demo("one---");//创建一个对象,就是创建一个线程
Demo d2=new Demo("two---");
d1.start();d2.start();//启动了d1,d2两个线程,虽然都是执行run方法,但是不是同一个run方法。d1有个内存运行空间,d2
也有一个内存运行空间,两个run是相互独立的
for(int i=0;i<10;i++) {
System.out.println("run HelloWorld");
}
}
}