我想检查哪个线程正在运行/正在运行..当5个线程正在运行/运行时需要暂停然后 - >当1被释放/完成/停止下一个排队的线程将开始/运行。
如何做到这一点
答案 0 :(得分:3)
您可以使用getState()方法获取线程所处的状态,该方法返回一个Enum of Thread.States。线程在给定的时间点只能处于以下状态之一。
新尚未开始执行的新主题。
RUNNABLE 在Java虚拟机中执行的线程。
BLOCKED 阻塞等待监视器锁定的线程。
等待正在等待另一个线程通知的线程。
TIMED_WAITING 正在等待另一个线程通知特定时间的线程。
TERMINATED 线程运行方法已结束。
Thread t = new Thread();
Thread.State e = t.getState();
Thread.State[] ts = e.values();
for(int i = 0; i < ts.length; i++){
System.out.println(ts[i]);
}
答案 1 :(得分:2)
或者您可以使用属于JDK的线程池,例如ExecutorService。