设定线程名称的方式
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());
以上是关于设定线程名称的方式的主要内容,如果未能解决你的问题,请参考以下文章
newCacheThreadPool()newFixedThreadPool()newScheduledThreadPool()newSingleThreadExecutor()自定义线程池(代码片段