java,线程问题,怎么判断线程是否结束啊

怎么判断线程是否结束啊,怎么写代码
2024-12-31 05:36:29
推荐回答(2个)
回答1:

通过Thread类中的isAlive()方法判断线程是否处于活动状态;

线程启动后,只要没有运行完毕,都会返回true;

除了上面一种还有两种;

1,通过Thread.activeCount()方法判断当前线程的线程组中活动线程的数目,为1时其他线程运行完毕;

2,通过java.util.concurrent.Executors中的方法创建一个线程池,用这个线程池来启动线程。启动所有要启动的线程后,执行线程池的shutdown()方法,即在所有线程执行完毕后关闭线程池。然后通过线程池的isTerminated()方法,判断线程池是否已经关闭。线程池成功关闭,就意味着所有线程已经运行完毕了;

例如;

回答2:

Thread thread = new Thread(.....);

if(thread.IsAlive){}