java ThreadPoolExecutor isTerminated
时间: 2023-11-21 11:58:36 浏览: 87
ThreadPoolExecutor类中的isTerminated()方法用于判断线程池是否已经终止。如果线程池已经终止,则返回true,否则返回false。以下是一个Java代码示例,演示如何使用isTerminated()方法:
```java
ThreadPoolExecutor executor = new ThreadPoolExecutor(2, 2, 0L, TimeUnit.MILLISECONDS, new ArrayBlockingQueue<Runnable>(5));
executor.execute(new Runnable() {
@Override
public void run() {
System.out.println("Thread 1 is running."); }
});
executor.execute(new Runnable() {
@Override
public void run() {
System.out.println("Thread 2 is running.");
}
});
executor.shutdown();
while (!executor.isTerminated()) {
//等待所有任务完成
}
System.out.println("All threads are terminated.");
```
在上面的代码中,我们创建了一个ThreadPoolExecutor对象,并向其中添加了两个任务。然后我们调用了shutdown()方法来关闭线程池。最后,我们使用while循环和isTerminated()方法来等待所有任务完成。当所有任务完成后,isTerminated()方法将返回true,while循环将退出,程序将输出"All threads are terminated."。
阅读全文