简单实现多线程的Demo

首先要定义线程池的一些参数

int corePoolSize=5;              // 核心线程数
int maximumPoolSize=10;          // 最大线程数  非核心线程数=最大线程池数-核心线程池数
long keepAliveTime=1;            // 非核心线程池最大空闲时间
TimeUnit unit=TimeUnit.MINUTES;  // 非核心线程池最大空闲时间单位
BlockingQueue worker=new LinkedBlockingDeque<>(40);       // 阻塞队列
ThreadFactory threadFactory= Executors.defaultThreadFactory();     // 线程池工厂
RejectedExecutionHandler handler=new ThreadPoolExecutor.AbortPolicy();       // 异常处理策略

 创建线程池:

ThreadPoolExecutor poolExecutor=new ThreadPoolExecutor(corePoolSize,maximumPoolSize,keepAliveTime,unit,worker,threadFactory,handler);

 Demo案例:

public static void main(String[] args) {
        int corePoolSize=5;              // 核心线程数
        int maximumPoolSize=10;          // 最大线程数  非核心线程数=最大线程池数-核心线程池数
        long keepAliveTime=1;            // 非核心线程池最大空闲时间
        TimeUnit unit=TimeUnit.MINUTES;  // 非核心线程池最大空闲时间单位
        BlockingQueue worker=new LinkedBlockingDeque<>(40);       // 阻塞队列
        ThreadFactory threadFactory= Executors.defaultThreadFactory();               // 线程池工厂
        RejectedExecutionHandler handler=new ThreadPoolExecutor.AbortPolicy();       // 异常处理策略

        ThreadPoolExecutor poolExecutor=new ThreadPoolExecutor(corePoolSize,maximumPoolSize,keepAliveTime,unit,worker,threadFactory,handler);

        for (int i = 0; i < 50; i++) {
            int finalI = i;
            poolExecutor.execute(()-> System.out.println("正在执行多线程:"+ finalI));
        }
    }

执行结果:

简单实现多线程的Demo_第1张图片

 

你可能感兴趣的:(Java,java,开发语言)