多线程之Executors创建线程池

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 20:52   3102   0
package com.lyon.juc.pool;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class ThreadPoolDemo {
    public static void main(String[] args) {
        //不建议使用Executors去创建线程池,因为最大线程数是默认的Integer.MAX_VALUE   2的31次方-1(可能导致内存溢出)
        //ExecutorService executorService = Executors.newSingleThreadExecutor();//单个线程
        //ExecutorService executorService = Executors.newFixedThreadPool(5);//固定大小的线程池
        ExecutorService executorService = Executors.newCachedThreadPool();//可伸缩的

        try {
            for (int i = 0; i < 100; i++) {
                executorService.execute(()->{
                    System.out.println(Thread.currentThread().getName());
                });
            }
        }catch (Exception e) {
             e.printStackTrace();
        }finally {
            //线程池,使用完,要关闭
            executorService.shutdown();
        }
    }
}
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP