美文网首页
公平锁 VS 非公平锁

公平锁 VS 非公平锁

作者: 萝灏 | 来源:发表于2018-11-25 15:29 被阅读0次

公平锁: 线程通过排队的方式来获取锁,没有获取到锁的线程以阻塞的状态等待,吞吐量不如非公平锁,但是线程不会被饿死,CPU需要唤起的线程比非公平锁多。
非公平锁:线程会尝试获取锁,如果获取失败了才会去排队,可能导致队列中的线程被饿死,在直接获取锁的情况下CPU需要唤起的线程比公平锁少,否则与公平锁一样。

公平锁就是通过同步队列来实现多个线程按照申请锁的顺序来获取锁,从而实现公平的特性。非公平锁加锁时不考虑排队等待问题,直接尝试获取锁,所以存在后申请却先获得锁的情况。

相关文章

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

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

  • 聊聊Java中的那些锁

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

  • 公平锁 VS 非公平锁

    公平锁: 线程通过排队的方式来获取锁,没有获取到锁的线程以阻塞的状态等待,吞吐量不如非公平锁,但是线程不会被饿死,...

  • 多线程并发编程

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

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

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

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

  • AbstractQueuedSynchronizer- 独占锁实

    1-ReentrantLock ReentrantLock是独占锁,而且内部可以是公平锁,非公平锁;公平锁:公平锁...

  • 锁 - 公平 vs 非公平

    公平锁 非公平锁 公平锁 典型的公平锁:ReentrantLock(true) 多个线程按照申请锁的顺序来获取锁。...

  • java 锁(五):公平锁VS非公平锁

    公平锁是指多个线程按照申请锁的顺序来获取锁,线程直接进入队列中排队,队列中的第一个线程才能获得锁。公平锁的优点是等...

  • 高并发编程基础2

    1、ReentrantLock默认为非公平锁,可以设置为公平锁。synchronized为非公平锁。 公平锁,就是...

网友评论

      本文标题:公平锁 VS 非公平锁

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