设定线程名称的方式


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

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());

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM