原理:相同线程执行不同任务
    线程池状态

    1. RUNNING:接受新任务并处理排队任务
    2. SHUTDOWN:不接受新任务,但处理排队任务
    3. STOP:不接受新任务,也不处理排队任务,并中断正在进行的任务
    4. TIDYING:中文是整洁,所有的任务都已终止,workerCount为零时,线程会转换到TIDYING状态,并将运行terminate()钩子方法
    5. TERMINATED:terminate() 运行完成

    使用线程池的注意点

    1. 避免任务堆积
    2. 避免线程数过度增加
    3. 排查线程泄露