线程池
线程池由以下四个基本组成部分
1. 线程池管理器(ThreadPool):用于创建并管理线程池,包括 创建线程池,销毁线程池,添加新任务;
2. 工作线程(PoolWorker):线程池中线程,在没有任务时处于等待状态,可以循环的执行任务;
3. 任务接口(Task):每个任务必须实现的接口,以供工作线程调度任务的执行,它主要规定了任务的入口,任务执行完后的收尾工作,任务的执行状态等;
4. 任务队列(taskQueue):用于存放没有处理的任务。提供一种缓冲机制。
四种常用线程池
1.newFixedThreadPool创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。
2.newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。
3.newScheduledThreadPool创建一个周期线程池,支持定时及周期性任务执行。
4.newSingleThreadExecutor创建一个单线程化的线程池,它只会用唯一的工作线程来执行任务,保证所有任务按照指定顺序(FIFO, LIFO, 优先级)执行。
领取专属 10元无门槛券
私享最新 技术干货