package com.thread;
import java.util.concurrent.*;
public class ExcecutorsMain {
public static void main(String[] args) {
//创建默认线程池
ExecutorService executorService = Executors.newCachedThreadPool();
//submit方法可以传Runable和Callable的实现类对象进去,我这里直接用Lamdan表达方式了
executorService.submit(()->{
System.out.println(Thread.currentThread().getName() +"当前线程");
});
//任务完成关闭线程池
executorService.shutdown();
//使用ThreadPoolExecutor创建线程池,上边的示例底层也是调用ThreadPoolExecutor创建线程池的.
ThreadPoolExecutor pool = new ThreadPoolExecutor(5, 10, 60, TimeUnit.SECONDS, new ArrayBlockingQueue<>(1), Executors.defaultThreadFactory(), new ThreadPoolExecutor.AbortPolicy());
pool.submit(()->{
for (int i = 0; i < 100; i++) {
System.out.println(Thread.currentThread().getName() + "---"+i);
}
});
pool.submit(()->{
for (int i = 0; i < 100; i++) {
System.out.println(Thread.currentThread().getName() + "---"+i);
}
});
//关闭
pool.shutdown();
}
}
Exceutors和ThreadPollExecutor线程池使用
最新推荐文章于 2024-07-22 22:58:19 发布