Synchronized 与Lock都是可重入锁,同一个线程再次进入同步代码的时候.可以使用自己已经获取到的锁。

Synchronized是悲观锁机制,独占锁。而Locks.ReentrantLock是,每次不加锁而是假设没有冲突而去完成某项操作,如果因为冲突失败就重试,直到成功为止。 ReentrantLock适用场景

  1. 某个线程在等待一个锁的控制权的这段时间需要中断
  2. 需要分开处理一些wait-notify,ReentrantLock里面的Condition应用,能够控制notify哪个线程,锁可以绑定多个条件。
  3. 具有公平锁功能,每个到来的线程都将排队等候。

友情链接: Synchronized关键字、Lock,并解释它们之间的区别

相关文章:

  • 2021-09-28
  • 2021-08-11
  • 2022-02-09
  • 2021-06-24
猜你喜欢
  • 2022-12-23
  • 2022-01-14
  • 2021-06-08
  • 2021-09-05
  • 2021-06-28
  • 2021-10-23
  • 2021-09-19
相关资源
相似解决方案