如何在Java中实现线程池,提高并发效率

原创 雨点打透心脏的1/2处 2024-09-26 10:57 191阅读 0赞

在Java中实现线程池主要通过ExecutorService接口和其子类如ThreadPoolExecutor来完成。以下是一个简单的例子:

  1. import java.util.concurrent.Executors;
  2. import java.util.concurrent.ThreadPoolExecutor;
  3. public class ThreadPoolExample {
  4. public static void main(String[] args) {
  5. // 创建线程池,核心线程数为2,最大线程数为10
  6. ThreadPoolExecutor executor = (ThreadPoolExecutor) Executors.newFixedThreadPool(10);
  7. // 提交任务到线程池
  8. for (int i = 0; i < 50; i++) {
  9. Runnable task = () -> System.out.println("Task " + i);
  10. executor.execute(task);
  11. }
  12. // 关闭线程池,释放资源
  13. executor.shutdown();
  14. while (!executor.isTerminated()) {
  15. // 等待所有任务完成
  16. }
  17. System.out.println("All tasks completed.");
  18. }
  19. }

在这个例子中,我们创建了一个固定大小的线程池,然后提交了50个任务到线程池。当所有的任务完成后,我们关闭线程池。

这样做的好处是,你可以预先设置好线程池的大小,避免在程序运行过程中频繁创建和销毁线程,从而提高并发效率。

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

发表评论

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

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

相关阅读