zoukankan      html  css  js  c++  java
  • synchronize是非公平锁

    公平锁:线程获取锁的顺序和调用lock的顺序一样,FIFO; 非公平锁:线程获取锁的顺序和调用lock的顺序无关,全凭运气。

    非公平锁逻辑基本跟公平锁一致,最本质的区别是,当当前的锁状态没有被占用时,当前线程可以直接占用,而不需要判断当前队列中是否有等待线程,

    在非公平的状态下,新来的线程在入队之前会尝试抢一次锁,如果失败了就会乖乖进入队列,一旦进入队列是不能再次出来抢的,只能等待队列一个一个地执行完毕。所谓公平与不公平是指新来的线程会不会在入队之前尝试「野蛮」地抢锁,公平的时候是不会,但是非公平的时候是会的

    ReentrantLock类的其中一个构造器提供了指定公平策略 / 非公平策略的功能,默认为非公平策略。

  • 相关阅读:
    Cornfields POJ
    二维RMQ模板
    降雨量 HYSBZ
    Frequent values UVA
    UVA
    Argus UVALive
    关于二分图有向边和无向边问题探讨
    Guardian of Decency UVALive
    SAM I AM UVA
    【062新题】OCP 12c 062出现大量新题-15
  • 原文地址:https://www.cnblogs.com/zchok/p/13124418.html
Copyright © 2011-2022 走看看