一. synchronized的缺陷 当一个代码块被synchronized修饰时,同时该代码块被一个线程执行,其他线程便只能一直等待,等待获取锁的线程释放锁,而这里获取锁的线程释放锁只会有两种情况: 1)获取锁的线程执行完成代码块,自动释放锁资源 2)代码块中执行异常,由jvm释放锁资源 如果在执行代码块时候,一个线程在代码块执行过程中Thread.sleep() 睡眠 线程被阻塞了,其他线程只能等待当前线程执行完成后才能执行.及其浪费效率. 另外当多个线程在执行写与写操作时,会发生线程冲突…