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

原创 「爱情、让人受尽委屈。」 2024-10-17 14:06 141阅读 0赞

Java线程池是Java中一种常用的管理线程的机制,可以有效提高程序性能并降低资源消耗。以下是一个简单的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. // 创建一个固定大小的线程池,大小为5个线程
  6. ExecutorService executor = Executors.newFixedThreadPool(5);
  7. // 提交任务到线程池执行
  8. for (int i = 0; i < 10; i++) { // 这里可以是任何需要在多线程环境下运行的任务
  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. // 验证任务是否都已完成且不再占用资源
  22. while (!executor.isTerminated())) {
  23. System.out.println("Still running tasks...");
  24. try {
  25. Thread.sleep(1000); // 模拟检查时间
  26. } catch (InterruptedException e) {
  27. e.printStackTrace();
  28. }
  29. }
  30. // 线程池关闭后,所有等待执行的任务将开始执行
  31. System.out.println("All tasks have been executed and completed.");
  32. }
  33. }

这个示例创建了一个固定大小的线程池(大小为5个线程),然后提交10个任务到线程池进行多线程并发执行。最后关闭线程池,验证所有任务都已经完成。

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

发表评论

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

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

相关阅读

    相关 Java并发编程线示例

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