📅  最后修改于: 2023-12-03 14:54:23.157000             🧑  作者: Mango
在Java中,一个Thread实例只能被启动一次。如果你尝试启动一个已经启动过的Thread,则会抛出java.lang.IllegalThreadStateException
异常。
下面是一个示例程序:
Thread thread = new Thread(() -> {
System.out.println("Hello, world!");
});
thread.start();
thread.start(); // 这里会抛出IllegalThreadStateException异常
输出结果:
Exception in thread "main" java.lang.IllegalThreadStateException
at java.base/java.lang.Thread.start(Thread.java:802)
at com.example.demo.DemoApplication.main(DemoApplication.java:14)
这个异常的原因是,在调用Thread的start()
方法时,它会检查线程的状态。如果线程已经启动,就会抛出上述异常。
如果你需要启动一个已经启动过的线程,可以考虑创建一个新的Thread实例来启动它,或者使用线程池来管理线程的生命周期。
总之,记住:一个Thread实例只能被启动一次,否则会抛出异常。