线程池使用的是阻塞队列
知识点一:阻塞队列与非阻塞队列的区别。
BlockingQueue接口,其实现类。offer() add() poll()
知识点二:
线程池的作用:
因为每一个线程都要经历新生,就绪,运行,销毁阶段,线程池可以节省前两个阶段的时间。
知识点四:底层原理分析
ThreadPoolExecutor tpe =new ThreadPoolExecutor(核心线程数,最大线程数,时间,时间单位TimeUnit.Seconds,阻塞队列new LinkedBlockingDeque<>(3))
tpe.execute(new ThreadTask());
tpe.shutdown();
知识点五:
分类:1、可缓存的:ExecutorService es =new Executor.newCachedThreadPool();
2/定长:newFixedThreadPool(3)
3、定时 ScheduledExecutorService ses= Exrcutor.newScheduledThreadPool(3)
ses.schedule(new Runnable(){},3,TimeUnit.SECONDS)
4、 单例newSingleThreadExecutor: