Synchronized关键字Lock,并解释它们之间的区别

Posted 菜鸟想长大

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Synchronized关键字Lock,并解释它们之间的区别相关的知识,希望对你有一定的参考价值。

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

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

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

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

以上是关于Synchronized关键字Lock,并解释它们之间的区别的主要内容,如果未能解决你的问题,请参考以下文章

ConCurrent并发包 - Lock详解(转)

java 线程安全 Lock

java 线程安全 Lock

synchronized 和 lock 的区别

synchronized关键字,Lock对象,阻塞队列问题

Java高并发--------JDK并发包-------3