ThreadPoolExecutor.submit多个任务 java
时间: 2023-08-17 09:11:19 浏览: 163
在 Java 中,我们可以使用 ThreadPoolExecutor 类来管理线程池并执行多个任务。ThreadPoolExecutor 类实现了 ExecutorService 接口,可以用于提交和执行任务。
要使用 ThreadPoolExecutor.submit() 方法提交多个任务,可以按照以下步骤进行操作:
1. 创建 ThreadPoolExecutor 对象,并指定线程池的核心线程数、最大线程数、线程空闲时间等参数。例如:
```java
ThreadPoolExecutor executor = new ThreadPoolExecutor(
corePoolSize,
maximumPoolSize,
keepAliveTime,
TimeUnit.SECONDS,
new LinkedBlockingQueue<>()
);
```
2. 创建任务并将其封装为 Runnable 或 Callable 对象。Runnable 是一个没有返回值的任务,而 Callable 可以返回一个结果。例如:
```java
Runnable task1 = new MyRunnableTask();
Callable<Integer> task2 = new MyCallableTask();
```
3. 使用 submit() 方法将任务提交给线程池。例如:
```java
executor.submit(task1);
executor.submit(task2);
```
4. 线程池会自动调度空闲的线程来执行提交的任务。
注意:submit() 方法会返回一个 Future 对象,可以使用它来获取任务的执行结果或取消任务的执行。如果不关心任务的执行结果,可以忽略 submit() 方法返回的 Future 对象。
另外,记得在程序结束时关闭线程池,以释放资源:
```java
executor.shutdown();
```
这是一个基本的示例,你可以根据实际需求调整线程池的参数和任务的实现方式。希望能对你有所帮助!如果你有更多问题,请继续提问。
阅读全文