根据您提到的Javadoc:
如果线程已经启动但尚未死亡,则该线程是活动的。
线程在
start()调用其方法时“启动”,并在其方法结束时“死亡”
run(),或在
stop()调用时(现在已弃用)。因此,是的,当线程的
run()方法仍在进行中时,该线程为“活动” ,但在JVM
调用
start()与隐式调用该
run()方法之间的时间窗口中,该线程也为“活动” 。
您还可以检查
Thread.getState()和有关线程有趣的信息,美国建议由@Marou
Maroun。
我也遵循他的建议,警告您,如果抛出Exception并传播到以外,则Thread可能会提前结束
run。在这种情况下,线程将不再存在。
编辑:如@zakkak所建议,即使该
run()方法尚未启动,也可以将线程视为活动线程。如果您希望对何时调用它进行适当的控制,请使用
ScheduledExecutorService,特别是
schedule()为您提供更精确的执行计划的方法。



