多线程的方法和类别


获取名字

* 通过getName()方法获取线程对象的名字

new Thread("xxx") {
    public void run() {
        for(int i = 0; i < 1000; i++) {
            System.out.println(this.getName() + "....aaaaaaaaaaaaaaaaaaaaaaa");
        }
    }
}.start();

new Thread("yyy") {
    public void run() {
        for(int i = 0; i < 1000; i++) {
            System.out.println(this.getName() + "....bb");
        }
    }
}.start(); 

设置名字

* 通过构造函数可以传入String类型的名字

Thread t1 = new Thread() {
    public void run() {
        for(int i = 0; i < 1000; i++) {
            System.out.println(this.getName() + "....aaaaaaaaaaaaaaaaaaaaaaa");
        }
    }
};

Thread t2 = new Thread() {
    public void run() {
        for(int i = 0; i < 1000; i++) {
            System.out.println(this.getName() + "....bb");
        }
    }
};
t1.setName("芙蓉姐姐");
t2.setName("凤姐");

t1.start();
t2.start();
 

获取当前线程的对象

*Thread.currentThread(), 主线程也可以获取

new Thread(new Runnable() {
    public void run() {
        for(int i = 0; i < 1000; i++) {
            System.out.println(Thread.currentThread().getName() + "...aaaaaaaaaaaaaaaaaaaaa");
        }
    }
}).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());       //获取主函数线程的引用,并获取名字
 

原文地址:https://www.cnblogs.com/loaderman/p/6411138.html