多线程4种实现
1,继承Thread类
2,实现Runnable接口(无返回值)
3,实现Callable接口(有返回值;依赖FutureTask类)
4,线程池(依赖ThreadPoolExecutor)
五个实现类:
Executors.newScheduledThreadPool(1);//了解
Executors.newWorkStealingPool(1);//java8新特性
ExecutorService threadPool = Executors.newFixedThreadPool(5);//一池5个处理线程
ExecutorService threadPool = Executors.newFixedThreadPool(1);//一池1个线程
ExecutorService threadPool = Executors.newCachedThreadPool();//一池N个线程
七大参数:
ExecutorService threadPool = new ThreadPoolExecutor(2,
5,
1L,
TimeUnit.SECONDS,
new LinkedBlockingQueue<>(3),
Executors.defaultThreadFactory(),
new ThreadPoolExecutor.CallerRunsPolicy());//
拒绝策略:jdk内置的拒绝策略,AbortPolicy;CallerRunsPolicy;DiscardPolicy;DiscardPolicy,均实现RejectedExecutionHandler接口

浙公网安备 33010602011771号