Java并发编程:线程池示例

原创 亦凉 2024-12-10 22:51 169阅读 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++) { // 假设每个任务耗时1秒
  9. executor.submit(() -> {
  10. System.out.println("Task " + i + " is running by thread: " + Thread.currentThread().getName());
  11. try {
  12. Thread.sleep(1000); // 模拟耗时操作
  13. } catch (InterruptedException e) {
  14. e.printStackTrace();
  15. }
  16. System.out.println("Task " + i + " completed by thread: " + Thread.currentThread().getName());
  17. });
  18. }
  19. // 关闭线程池,释放资源
  20. executor.shutdown(); // 提示关闭,不阻塞
  21. while (!executor.isTerminated())) { // 确保所有任务执行完毕
  22. System.out.println("Executor still running...");
  23. try {
  24. Thread.sleep(1000); // 防止主线程阻塞
  25. } catch (InterruptedException e) {
  26. e.printStackTrace();
  27. }
  28. }
  29. System.out.println("All tasks completed by executor.");
  30. }
  31. }

这个示例创建了一个固定大小的线程池(5个线程),并提交10个耗时任务到线程池执行。最后关闭线程池,确保所有任务执行完毕。

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

发表评论

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

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

相关阅读

    相关 Java并发编程线示例

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