1. 使用synchronized关键字锁定方法
    2. 使用synchronized同步代码块
    3. 使用volatile关键字
    4. 使用reentrantlock可重入锁
    5. 使用atomic原子类
    6. 使用阻塞队列实现生产者消费者
    7. 使用threadlocal