threadpoolexecutor 常用的get方法
时间: 2023-08-14 17:52:58 浏览: 119
`ThreadPoolExecutor` 类是 Java 中用于管理线程池的实用工具类。它提供了一些常用的方法,其中包括 `get()` 方法。但是需要注意的是,`get()` 方法并不是 `ThreadPoolExecutor` 类中定义的方法,而是继承自 `ExecutorService` 接口。
`get()` 方法用于获取由 `submit()` 方法提交的任务的执行结果。它会阻塞当前线程,直到任务完成并返回结果。
以下是使用 `ThreadPoolExecutor` 的示例代码:
```java
import java.util.concurrent.*;
public class ThreadPoolExecutorExample {
public static void main(String[] args) throws InterruptedException, ExecutionException {
// 创建线程池
ThreadPoolExecutor executor = new ThreadPoolExecutor(2, 4, 60, TimeUnit.SECONDS, new ArrayBlockingQueue<>(10));
// 提交任务并获取 Future 对象
Future<Integer> future = executor.submit(() -> {
// 执行任务,这里简单返回一个结果
return 42;
});
// 阻塞当前线程,直到任务完成并返回结果
int result = future.get();
System.out.println("Task result: " + result);
// 关闭线程池
executor.shutdown();
}
}
```
在上面的示例中,我们创建了一个 `ThreadPoolExecutor` 对象,并使用 `submit()` 方法提交了一个任务。然后,我们使用 `get()` 方法获取任务的执行结果,并将结果打印出来。
需要注意的是,`get()` 方法可能会抛出 `InterruptedException` 和 `ExecutionException` 异常,因此需要进行异常处理。
希望以上信息对你有所帮助!如果你有更多问题,请继续提问。
阅读全文