改变线程的名称,有两种方式
1.使用Thread类中的方法setName(名字)
2.创建带参数的构造方法,参数传递线程的名称;调用父类的带参构造方法,把线程名称传递给父类
让父类(Thread)给子线程起一个名字,分配新的Thread对象。
我写了一个代码,以供大家理解,如下:
public class Demo2 {
public static void main(String[] args) {
Person p=new Person();
p.start();
p.setName("小强");
Person p2=new Person("旺财");
p2.start();
System.out.println(Thread.currentThread().getName());
}
}
public class Person extends Thread {
String name;
public Person(String name) {
super(name);
}
public Person(){}
public void run(){
System.out.println(Thread.currentThread().getName());
}
}
这样,可以给线程起名字,运行的结果是
main
小强
旺财
还有一个方法,叫做sleep
作用是使当时正在执行的代码在指定的毫秒数内暂停
sleep本身是异常方法,而且是编译异常,所以必须去处理,要么捕获,要么抛出。
同样的,我也相应的写出了代码,如下:
public class Demo2 {
public static void main(String[] args) throws Exception {
for (int i = 0; i <= 60; i++) {
System.out.println(i);
//使用sleep方法,让程序睡眠
Thread.sleep(1000);
}
System.out.println("1");
}
}