1 目的

线程池模式是多线程设计模式中最重要的一种设计模式。主要目的是为了提升系统处理多线程任务的能力,使每次新建的任务不需要另外启动线程去处理,只需要提交给线程池,线程池按照分配的工作线程依次执行任务,这样可以保证系统的整体负载达到可控,运行稳定。

2 类图

3 时序图

线程池模式主要分为两部:

  • 启动线程池中的工作线程
  • 提交任务至线程池

由时序图我们可以看到,首先我们需要创建工作线程,并启动,并不断调用队列的take方法从工作队列中获取任务,一旦获取到任务则立即执行,没有任务则线程挂起。这里利用了BlockingQueue实现了线程的挂起。

接着我们把需要执行的任务提交到线程池,线程池会调用工作队列的Put方法,把任务放到线程队列中去。