【发布时间】:2021-11-30 18:54:57
【问题描述】:
public class MyThread extends Thread {
public void run() {
System.out.println("Thread is running");
}
public static void main(String[] args) {
MyThread t1 = new MyThread();
t1.start();
t1.setDaemon(true); // throw IllegalThreadStateException why ?
}
}
【问题讨论】:
-
基本上,因为 javadoc 是这么说的。为什么?好吧,我想如果线程在启动后可以在守护程序和非守护程序之间切换,它可能会在一些(可能是假设的)平台上出现实现困难。无论如何,规范说明了它所说的,所以真正的原因是没有实际意义的......出于所有实际目的。
-
请注意,从我可以在网上找到的最早版本开始,javadocs 就已经说过了; Java 1.1.4。
标签: java multithreading daemon