美文网首页
JUC之公平锁和非公平锁

JUC之公平锁和非公平锁

作者: 西界__ | 来源:发表于2020-12-29 09:56 被阅读0次

概念

<mark>公平锁是指多个线程按照申请锁的顺序来获取锁,采用先来后到哦,先来先服务的原则。老的线程排队使用锁,新线程仍然排队使用锁。</mark>

<mark>非公平锁多个线程按照上来就直接尝试占有锁,如果尝试失败就采用类似公平锁的方式。老的线程排队使用锁,但是无法保证新线程抢占已经在排队的线程的锁。</mark>

非公平锁的优点在于吞吐量比公平锁大。

并发包ReentrantLock的创建可以指定构造函数的boolean类型来得到公平锁或者非公平锁 默认是非公平锁

实例

我们经常使用到的锁是ReentrantLock我们可以查看它的源码,默认使用的是非公平锁。

也就是说ReentrantLock可自定义使用的是公平还是非公平锁,默认使用的是非公平锁。

对于synchronized而言 也是一种非公平锁.

相关文章

  • JUC之公平锁和非公平锁

    概念 公平锁是指多个线程按照申请锁的顺序来获取锁,采用先来后到哦,先来先服务的原则。老的线程排队使用锁,新线程仍然...

  • synchronized和juc比较

    为什么有了synchronized之后还需要juc的锁呢? 1、synchronized是非公平锁,无法用作公平锁...

  • 聊聊Java中的那些锁

    说到Java中锁的分类,有很多种。本文就来聊聊公平锁、非公平锁、可重入锁、独占锁、共享锁和自旋锁。 一、公平锁和非...

  • 公平锁和非公平锁-ReentrantLock是如何实现公平、非公

    1、什么是公平锁与非公平锁 公平锁:公平锁就是保障了多线程下各线程获取锁的顺序,先到的线程优先获取锁。非公平锁:非...

  • 多线程并发编程

    Wait/NotifyAll标准使用 锁的特性/分类 公平、非公平锁 可重入锁 排他、非排他锁 Synchroni...

  • java并发-独占锁与共享锁,公平锁与非公平锁,重入锁与非重入锁

    java并发-乐观锁与悲观锁,独占锁与共享锁,公平锁与非公平锁,重入锁与非重入锁 java 中的锁 -- 偏向锁、...

  • JUC源码走读

    一、公平锁和非公平锁 非公平锁的源码: 可以看到非公平锁的lock,上来就先尝试获取锁。compareAndSet...

  • [转载]# 公平锁,非公平锁,乐观锁,悲观锁 公平锁/非公平锁(多线程执行顺序的维度) 概念理解 公平锁:加锁前先...

  • ReentrantLock-jdk1.8

    ReentrantLock分为公平锁和非公平锁,默认的为非公平锁 可以手动指定 先从非公平锁讲起 1 lock 首...

  • Java锁有哪些种类

    一 公平锁和非公平锁 公平锁:多个线程按照申请锁的顺序来获取锁 非公平锁:多个线程获取锁的顺序并不是按照申请锁的顺...

网友评论

      本文标题:JUC之公平锁和非公平锁

      本文链接:https://www.haomeiwen.com/subject/nwddnktx.html