设定线程名称的方式

Posted feichangnice

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设定线程名称的方式相关的知识,希望对你有一定的参考价值。

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

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

 

以上是关于设定线程名称的方式的主要内容,如果未能解决你的问题,请参考以下文章

代码片段如何使用CSS来快速定义多彩光标

使用Visual Studio Code自定义代码模版

newCacheThreadPool()newFixedThreadPool()newScheduledThreadPool()newSingleThreadExecutor()自定义线程池(代码片段

从视图/控制器获取 pimcore 片段名称

Linux下更改文件权限以及系统权限预留阈值的设定

线程池与并行度