synchronized的功能扩展 更灵活的逻辑控制 中断响应 synchronized :如果一个线程在等待锁,结果只有两种情况: 获得这把锁继续执行 保持等待 ReentrantLock:提供了另外一种可能: 程序可以根据需要取消对锁的请求。 锁申请等待限时 可以设置为公平锁:不会发生饥饿现象。 好伙伴:Condition 和Object的wait和notify大致相同 信号量 允许多个线程同时访问临界区