创建一个阻塞队列来容纳任务,在次执行任务时创建足够多的线程,并处理任务,之后每个工作线程自动从任务队列中获取线程,直到任务队列中任务为0为止,此时线程处于等待状态,一旦有工作任务加入任务队列中,即刻唤醒工作线程进行处理,实现线程的可复用性。
线程池一般包括四个基本组成部分:
1. 线程池管理器:用于创建线程池,销毁线程池,添加新任务。
2. 工作线程:线程池中线程,可循环执行任务,在没有任务时处于等待状态。
3. 任务队列:用于存放没有处理的任务,一种缓存机制。
4. 任务接口:每个任务必须实现的接口,供工作线程调度任务的执行,主要规定了任务的开始和收尾工作,和任务的状态。