线程池是什么?
线程池就是一个可以复用线程的技术。
假若不用线程池的问题:创建新线程开销很大,不能来一个任务就就创建一个新线程。
如何创建线程池对象?
方法一:使用ExecutorService的实现类ThreadPoolExecutor创建一个线程池对象。
ExecutorService的常用方法
线程池的注意事项:
方法二:使用Executors(线程池的工具类)调用方法返回不同特点的线程池对象。
是一个线程池的工具类,提供了很多静态方法用于返回不同特点的线程池对象。
Executors使用可能存在的陷阱:
大型并发系统环境中使用Executors如果不注意可能出现系统风险。
如何配置核心线程数量?
对于CPU密集型任务,核心线程数量就是,cpu的核心线程数量加一,易是逻辑处理器加一。
对于IO密集型任务,核心线程数量就是,cpu核数的两倍。