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

原创 忘是亡心i 2024-12-01 13:00 74阅读 0赞

在Java的并发编程中,线程池是一个非常重要的工具。它允许我们在创建新线程时复用已有的线程,从而提高系统效率和资源利用率。

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

  1. import java.util.concurrent.Executors;
  2. import java.util.concurrent.TimeUnit;
  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. final int index = i;
  10. executor.submit(() -> {
  11. System.out.println("Task " + index + " is running by thread: " + Thread.currentThread().getName());
  12. try {
  13. Thread.sleep(500);
  14. } catch (InterruptedException e) {
  15. e.printStackTrace();
  16. }
  17. System.out.println("Task " + index + " finished by thread: " + Thread.currentThread().getName());
  18. });
  19. }
  20. // 关闭线程池
  21. executor.shutdown();
  22. // 等待所有任务完成或超时
  23. try {
  24. if (!executor.awaitTermination(60, TimeUnit.SECONDS))) {
  25. System.err.println("Executor did not terminate!");
  26. }
  27. } catch (InterruptedException e) {
  28. System.err.println("Interrupted while waiting for executor to terminate.");
  29. e.printStackTrace();
  30. }
  31. }
  32. }

这个示例创建了一个固定大小的线程池,然后提交了10个任务到线程池。每个任务运行一段时间后打印消息并结束。最后关闭线程池,并等待所有任务完成或超时。

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

发表评论

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

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

相关阅读