package com.weiyi.study.thread;
import java.util.concurrent.Executors;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
/**
* 手动创建一个线程池
* @author <a href="mailto:shizi@microants.cn">狮子</a>
* version 1.0.0
* since 1.0.0
*/
public class ThreadPool {
public static void main(String[] args) {
ThreadPoolExecutor executor = new ThreadPoolExecutor(2, //核心线程数
Runtime.getRuntime().availableProcessors(), //最大线程数
3, //空闲时最大的存活时间
TimeUnit.SECONDS, //存活时间的单位
new LinkedBlockingQueue<>(10), //阻塞队列
Executors.defaultThreadFactory(), //线程池工厂
new ThreadPoolExecutor.DiscardOldestPolicy()); // 队列满了尝试和最早的竞争,也不会抛出异常
try {
for(int i = 1; i <= 20; i++){
executor.execute(() -> {
System.out.println(Thread.currentThread().getName() + "=======>OK");
});
}
} catch (Exception e) {
e.printStackTrace();
} finally {
executor.shutdown();
}
}
}
手动创建一个线程池
最新推荐文章于 2024-11-05 15:56:58 发布
401

被折叠的 条评论
为什么被折叠?



