线程池创建
ExecutorService threadPool =new ThreadPoolExecutor(
2,
5,
1l,
TimeUnit.SECONDS,
new LinkedBlockingQueue<>(3),
Executors.defaultThreadFactory(),
new ThreadPoolExecutor.DiscardPolicy());
for (int i = 0; i <10 ; i++) {
threadPool.execute(()->{
System.out.println(Thread.currentThread().getName()+"\t"+"aaa");
// System.out.println(" aaa");
});
}
threadPool.shutdown();
System.out.println(Runtime.getRuntime().availableProcessors());
- CPU 密集 核数+1
- IO 密集 2*核数
核数->
Runtime.getRuntime().availableProcessors()