修改线程名称
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---");//创建一个对象,就是创建一个线程
d1.start();Demo d2=new Demo("two---");
d2.start();//启动了d1,d2两个线程,虽然都是执行run方法,但是不是同一个run方法。d1有个内存运行空间,d2
也有一个内存运行空间,两个run是相互独立的
for(int i=0;i<10;i++) {
System.out.println("run HelloWorld");
}
}
}