设定线程名称的方式

设定线程名字有三种方式:

1.线程内部调用t1.setName("abc")方法

2.线程创建时传入new Thread("abc")方法

3.线程创建后调用t1.setName("abc")方法

获取线程名称的方式:在Run方法内部调用this.getName()方法

获取线程对象的方式:Run方法内部调用Thread.currentThread()方法

示例如下:

 1 public static void main(String[] args) {
 2         // TODO Auto-generated method stub
 3         //method1();
 4         //method2();
 5         method3();
 6         
 7     }
 8     //方式3
 9     private static void method3(){
10         Thread t1 =  new Thread(){
11             public void run(){
12                 System.out.println("我是" + this.getName());
13             }
14         };
15         
16         Thread t2 =  new Thread(){
17             public void run(){
18                 System.out.println("我是" + this.getName());
19             }
20         };
21         
22         t1.setName("abc");
23         t2.setName("def");
24         
25         t1.start();
26         t2.start();
27     }
28     //方式2
29     private static void method2(){
30         new Thread(){
31             public void run(){
32                 this.setName("abc");
33                 System.out.println("我是" + this.getName());
34             }
35         }.start();
36         
37         new Thread(){
38             public void run(){
39                 this.setName("def");
40                 System.out.println("我是" + this.getName());
41             }
42         }.start();
43     }
44     
45     //方式1
46     private static void method1(){
47         new Thread("abc"){
48             public void run(){
49                 System.out.println("我是" + this.getName());
50             }
51         }.start();
52         
53         new Thread("def"){
54             public void run(){
55                 System.out.println("我是" + this.getName());
56             }
57         }.start();
58     }

 获取线程对象:

1 new Thread(new Runnable(){
2                 public void run(){
3                     //获取当前线程对象
4                     System.out.println(Thread.currentThread().getName());
5                 }
6             }).start();
7             
8             //主线程名称
9             System.out.println(Thread.currentThread().getName());

 

posted @ 2019-04-03 11:33  大尾巴贝贝  阅读(4723)  评论(0编辑  收藏  举报