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

JUC之公平锁和非公平锁

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

    概念

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

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

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

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

    实例

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

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

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

    相关文章

      网友评论

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

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