Java并发编程:线程池使用示例

原创 迷南。 2024-09-16 06:03 152阅读 0赞

在Java中,线程池是一种管理线程资源的方式。它可以在需要时创建新线程,而不需要每次请求新任务都去创建新线程。

以下是一个简单的线程池使用示例:

  1. import java.util.concurrent.ExecutorService;
  2. import java.util.concurrent.Executors;
  3. public class ThreadPoolExample {
  4. public static void main(String[] args) {
  5. // 创建一个固定大小的线程池
  6. ExecutorService executor = Executors.newFixedThreadPool(5);
  7. // 提交任务到线程池执行
  8. for (int i = 0; i < 10; i++) {
  9. Runnable task = () -> {
  10. System.out.println("Task " + i + " is running by thread " + Thread.currentThread().getId());
  11. try {
  12. Thread.sleep(500); // 模拟耗时操作
  13. } catch (InterruptedException e) {
  14. e.printStackTrace();
  15. }
  16. System.out.println("Task " + i + " completed by thread " + Thread.currentThread().getId());
  17. };
  18. executor.submit(task);
  19. }
  20. // 关闭线程池,避免资源泄露
  21. executor.shutdown();
  22. // 确保所有任务已经完成
  23. while (!executor.isTerminated())) {
  24. System.out.println("Task is still running.");
  25. try {
  26. Thread.sleep(1000); // 模拟检查间隔
  27. } catch (InterruptedException e) {
  28. e.printStackTrace();
  29. }
  30. }
  31. System.out.println("\nAll tasks completed. ThreadPool closed.\n");
  32. }
  33. }

这个示例创建了一个固定大小的线程池,然后提交了10个任务到线程池执行。最后关闭线程池以释放资源。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,152人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java并发编程线示例

    在Java中,线程池是一种常用的管理线程的方式。它通过维护一组工作线程,并且根据请求动态添加或回收线程,以提高系统的并发处理能力。 以下是一个简单的线程池示例: ```ja