gpt4 book ai didi

java - java中默认的新线程名称是如何给出的?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:30:20 24 4
gpt4 key购买 nike

当我运行这个程序时

public class Fabric extends Thread {
public static void main(String[] args) {
Thread t1 = new Thread(new Fabric());
Thread t2 = new Thread(new Fabric());
Thread t3 = new Thread(new Fabric());
t1.start();
t2.start();
t3.start();
}
public void run() {
for(int i = 0; i < 2; i++)
System.out.print(Thread.currentThread().getName() + " ");
}
}

我得到输出

Thread-1 Thread-5 Thread-5 Thread-3 Thread-1 Thread-3

线程被赋予奇数名称 - 1, 3, 5... 或者它是不可预测的,有什么具体原因吗?

最佳答案

new Thread(new Fabric());

由于 Fabric 是一个线程,您在这里创建了 2 个线程:)

JDK8代码:

/* For autonumbering anonymous threads. */
private static int threadInitNumber;
private static synchronized int nextThreadNum() {
return threadInitNumber++;
}

关于java - java中默认的新线程名称是如何给出的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30534164/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com