解决线程安全方案三:Lock锁 lock() 获取锁 unlock() 释放锁 使用方法: 在run()方法外面创建ReentrantLock对象 Lock l = new ReentrantLock(); 在可能出现问题的代码前调用lock接口获取lock锁 l.lock(); 在可能出现问题的代码后调用lock接口获取unlock锁 l.unlock(); 比较常用放在 try{}catch{}finally{l.unlock();}