一、获取名字和设置名字 (掌握)
1.获取名字
- 通过getName()方法获取线程对象的名字:如果不设置名字。默认为Thread-0、Thread-1。
2.设置名字(两种方式:构造、setName())
1)通过构造函数可以传入String类型的名字
new Thread("xxx") {
public void run() {
for(int i = 0; i < 1000; i++) {
System.out.println(this.getName()+ "....aa");
}
}
}.start();
2)通过setName(String)方法可以设置线程对象的名字
new Thread() {
public void run() {
this.setName("");
for(int i = 0; i < 1000; i++) {
System.out.println(this.getName()+ "....aaaaaaaaaaaaaaaaaaaaaaa");
}
}
}.start();
Thread t1 = new Thread() {
public void run() {
for(int i = 0; i < 1000; i++) {
System.out.println(this.getName()+ "....aaaaaaaaaaaaaaaaaaaaaaa");
}
}
};
t1.setName("芙蓉姐姐");
t1.start();
二、获取当前线程的对象(掌握)
currentThread():返回对当前正在执行的线程对象的引用,返回的是一个Thread
* Thread.currentThread(), 主线程也可以获取
new Thread(new Runnable() {
public void run() {
for(int i = 0; i < 1000; i++) {
System.out.println(Thread.currentThread().getName() + "...aa");
}
}
}).start();
new Thread(new Runnable() {
public void run() {
for(int i = 0; i < 1000; i++) {
System.out.println(Thread.currentThread().getName() + "...bb");
}
}
}).start();
Thread.currentThread().setName("我是主线程"); //获取主函数线程的引用,并改名字,在
System.out.println(Thread.currentThread().getName()); //获取主函数线程的引用,并获取名字