V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
amiwrong123
V2EX  ›  Java

如何比较清楚得解释这几个阻塞队列使用的 lock 的数量

  •  
  •   amiwrong123 · Jul 30, 2020 via Android · 1787 views
    This topic created in 2104 days ago, the information mentioned may be changed or developed.
    LinkedBlockingQueue 使用了两个锁,分别对应出队入队。我觉得原因是,它用原子类用做计数器,而且修改 head last 不冲突。

    ArrayBlockingQueue 使用了一个锁。它的 count 不是原子类。只有这个原因吗

    LinkedBlockingDueue 又使用了一个锁。可能是因为队列两端都支持入队出队,所以最好一个锁。

    总感觉我没解释清楚
    6 replies    2020-07-30 13:03:06 +08:00
    wysnylc
        1
    wysnylc  
       Jul 30, 2020
    无锁才是未来
    gantleman
        2
    gantleman  
       Jul 30, 2020
    @wysnylc 嘿嘿,未来已经被拉小黑屋了,996 才是未来。
    amiwrong123
        3
    amiwrong123  
    OP
       Jul 30, 2020 via Android
    @wysnylc
    什么,这是个什么梗么
    gantleman
        4
    gantleman  
       Jul 30, 2020
    @amiwrong123 没什么大事。有人要求我介绍无锁编程。我就早上发个文章关于无锁的,可能文章的技术太过激进,有几个人没看懂就开始骂街。被管理员拉黑了。
    lxk11153
        5
    lxk11153  
       Jul 30, 2020
    @gantleman #4 帖子没了?
    gantleman
        6
    gantleman  
       Jul 30, 2020
    @lxk11153 点我头像可以看到,被拉到不能关注的频道了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   859 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 19:06 · PVG 03:06 · LAX 12:06 · JFK 15:06
    ♥ Do have faith in what you're doing.