一个线程在java中的生存时间是多长?

一个线程在java中的生存时间是多长?,java,threadpool,Java,Threadpool,我使用 Thread t = new Thread(); t.start(); 使用t.start()启动线程; 现在线程将存活多长时间? 在X(上述问题的答案)秒后,它将进入什么状态 如果线程有run()方法,会发生什么情况?一个按照您描述的方式创建和启动的线程只有在空的thread.run()方法不执行任何操作并返回时才会处于活动状态。当线程终止时,t.isAlive()函数将返回false 通常,一个线程做一些有用的事情,只要run()方法没有返回,它就会一直处于活动状态。这个线程是一个

我使用

Thread t = new Thread();
t.start();
使用t.start()启动线程; 现在线程将存活多长时间? 在X(上述问题的答案)秒后,它将进入什么状态


如果线程有run()方法,会发生什么情况?

一个按照您描述的方式创建和启动的线程只有在空的
thread.run()方法不执行任何操作并返回时才会处于活动状态。当线程终止时,
t.isAlive()
函数将返回
false


通常,一个线程做一些有用的事情,只要
run()
方法没有返回,它就会一直处于活动状态。

这个线程是一个坏例子,因为它不执行任何东西,即它执行的
run()
的主体是空的。它将立即开始和结束。你的线程没有做任何事情,所以答案归结为调度延迟。一个需要实际执行某项任务的线程在其任务完成之前将一直有效。您是否在线程池中混合了一个问题?那么,运行run方法后线程状态是否会失效?如果您特别询问
thread.getState()
的返回值,那么它将返回
thread.state.TERMINATED
。Java在提到线程状态时不使用“死”一词。
Thread t = new Thread();
t.start();
public void run(){
    System.out.println("Threads");
}