java怎么设置线程名字

java怎么设置线程名字,第1张

线程名要在线程中设置,即run()方法中,楼主的写法是在设置main()方法的线程名,并非新建的线程名。代码改造一下:

public class Server {

public static void main(String[] args) {

int i = 0

while (i <10) {

i++

Thread t = new Thread(new MyExecute("name" + i))

t.start()

}

}

}

class MyExecute implements Runnable {

private String name

public MyExecute(String name) {

this.name = name

}

public void run() {

Thread.currentThread().setName(this.name)

System.out.println(Thread.currentThread().getName())

}

}

每个线程都有一个标识名,多个线程可以同名。如果线程创建时没有指定标识名,当 Java 虚拟机启动时,就会为其生成一个新名称。

Thread 的源码

public

class Thread implements Runnable {

/* Make sure registerNatives is the first thing <clinit>does. */

private static native void registerNatives()

static {

registerNatives()

}

private char name[]

private int priority

private Thread threadQ

private long eetop

...

public final void setName(String name) {

checkAccess()

this.name = name.toCharArray()

}

...

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7898331.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存