创建一个javaThreadPoolExecutor通用线程池

动态 未结 0 203
小小草
小小草 LV1 2023年9月23日 23:40 发表
以下是创建一个通用的Java线程池的示例代码: ```java import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class ThreadPoolExample { public static void main(String[] args) { // 创建一个固定大小的线程池,最多同时执行5个任务 ExecutorService executor = Executors.newFixedThreadPool(5); // 提交10个任务给线程池执行 for (int i = 0; i < 10; i++) { Runnable worker = new WorkerThread("Task " + (i + 1)); executor.execute(worker); } // 关闭线程池 executor.shutdown(); while (!executor.isTerminated()) { } System.out.println("All tasks completed"); } } class WorkerThread implements Runnable { private String taskName; public WorkerThread(String taskName) { this.taskName = taskName; } @Override public void run() { System.out.println(Thread.currentThread().getName() + " executing " + taskName); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(Thread.currentThread().getName() + " completed " + taskName); } } ``` 在上面的示例中,我们使用`Executors.newFixedThreadPool()`方法创建了一个固定大小的线程池,最多同时执行5个任务。然后,我们提交了10个任务给线程池执行,并等待所有任务完成后关闭线程池。 注意,在实际应用中,我们需要根据具体的需求来选择不同类型的线程池,例如,如果需要处理大量的短时间任务,可以使用`Executors.newCachedThreadPool()`方法创建一个缓存线程池;如果需要处理长时间运行的任务,可以使用`Executors.newSingleThreadExecutor()`方法创建一个单线程池。
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复