直接使用synchronized有如下一些不足: 不能够扩越多个对象 当在等待锁对象的时候不能中途放弃,直到成功 等待没有超时限制 Thread.interrupt()不能中断阻塞 JDK5中提供更加灵活的机制:Lock和Condition synchronized在JDK6及以后性能有很大提升 – 继续聊聊锁的升级机制