ThreadPoolExecutor的execute
时间: 2023-10-21 18:26:47 浏览: 103
ThreadPoolExecutor的execute方法用于向线程池提交任务。它接受一个Runnable对象作为参数,该对象封装了要执行的具体任务。线程池会根据自身的策略从线程池的线程中选择一个线程来执行该任务。
execute方法会立即返回,不会等待任务执行完成。线程池会在后台异步执行任务,并自动管理线程的创建和销毁。
以下是一个示例代码片段,展示如何使用execute方法向ThreadPoolExecutor提交任务:
```java
import java.util.concurrent.ThreadPoolExecutor;
public class ThreadPoolExample {
public static void main(String[] args) {
ThreadPoolExecutor executor = new ThreadPoolExecutor(5, 10, 5000, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>());
// 提交任务给线程池
executor.execute(new Runnable() {
@Override
public void run() {
// 执行具体的任务逻辑
System.out.println("Task executed!");
}
});
// 关闭线程池
executor.shutdown();
}
}
```
在上面的示例中,我们创建了一个ThreadPoolExecutor实例,设置了核心线程数为5,最大线程数为10,空闲线程存活时间为5000毫秒。然后,我们通过execute方法提交了一个任务给线程池,并在任务执行完毕后关闭了线程池。
需要注意的是,execute方法是异步执行的,不会等待任务的完成。如果希望等待任务执行完成并获取执行结果,可以使用submit方法。
阅读全文