重入锁ReentrantLock

synchronized的功能扩展

更灵活的逻辑控制

中断响应

  • synchronized :如果一个线程在等待锁,结果只有两种情况:
  • 获得这把锁继续执行
  • 保持等待
  • ReentrantLock:提供了另外一种可能:
  • 程序可以根据需要取消对锁的请求。
  • 锁申请等待限时
  • 可以设置为公平锁:不会发生饥饿现象。

好伙伴:Condition

  • 和Object的wait和notify大致相同

信号量

  • 允许多个线程同时访问临界区

你可能感兴趣的:(重入锁ReentrantLock)