线程池:就是一个存放多个线程的容器。容器中的线程不需要我们去创建,使用完线程以后回收即可,不销毁。
    目的是为了节约系统开销 - 所以通常线程池是不关闭的,但是可以关闭。
    jdk5.0版本推出的
    注意:

    1. 不要设置太多的空闲线程,通常按照比需求稍微多一些就可以了
    2. 线程池是否需要关闭这个要看具体的需求

    线程安全问题:
    同步:线程安全 - 效率低
    异步:线程不安全 - 效率高
    解决线程安全问题实际上就是把异步转为同步。
    Java中的线程安全处理方式:synchronized
    这个关键字可以修饰代码块和方法
    修饰代码块 - 同步代码块
    修饰方法 - 同步方法
    (1)锁对象 - Object:利用一个对象去锁住目标
    (2)对象锁 - 锁住一个对象