优势:
通过重复利用已创建的线程降低线程创建、销毁线程造成的消耗
当任务到达时,任务可以不需要等到线程创建就能立即执行
提高线程的可管理性
关键点在于,线程都有keepAliveTime,即线程空闲时的存活时间
工作流程(一些关键参数):
corePoolSize 线程池中的核心线程数
当提交一个任务时,线程池创建一个新线程执行任务,直到当前线程数等于corePoolSize;如果当前线程数为corePoolSize,继续提交的任务被保存到阻塞队列中,等待被执行
maximumPoolSize 线程池中允许的最大线程数
如果当前阻塞队列满了,且继续提交任务,则创建新的线程执行任务,前提是当前线程数小于maximumPoolSize;
keepAliveTime 线程空闲时的存活时间
当线程没有任务执行时,继续存活的时间;默认情况下,该参数只在线程数大于corePoolSize时才有用;