天天看点

多线程之:模拟实现线程池的工作原理

[一]线程池存在的价值:

==>多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。   

==>假设一个服务器完成一项任务所需时间为:T1 创建线程时间,T2 在线程中执行任务的时间,T3 销毁线程时间。

==>如果:T1 + T3 远大于 T2,则可以采用线程池,以提高服务器性能。

[二]合理利用线程池能够带来三个好处。

 * 第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。

 * 第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。

 * 第三:提高线程的可管理

[三]一个线程池的组成部分

(1)线程池管理器

=>其中线程池管理器的作用是创建、销毁并管理线程池,将工作线程放入线程池中;

=>线程池管理器至少有下列功能:创建线程池,销毁线程池,添加新任务。

(2)工作线程

=>工作线程是一个可以循环执行任务的线程,在没有任务是进行等待;

=>工作线程是一个可以循环执行任务的线程,在没有任务时将等待。

(3)任务列队

=>任务列队的作用是提供一种缓冲机制,将没有处理的任务放在任务列队中;

(4)任务接口等部分。

=>任务接口是每个任务必须实现的接口,主要用来规定任务的入口、任务执行完后的收尾工作、任务的执行状态等,工作线程通过该接口调度任务的执行。

=>任务接口是为所有任务提供统一的接口,以便工作线程处理。任务接口主要规定了任务的入口,任务执行完后的收尾工作,任务的执行状态等。

[四]模拟实现一个线程池的原理

多线程之:模拟实现线程池的工作原理
多线程之:模拟实现线程池的工作原理

View Code