240 发简信
IP属地:上海
  • 加多宝 高产 👍

    我的Java三剑客配套源码

    一、前言 随书源码目前都托管到github上,无论你是否购买了书籍,都可以免费clone到本地,如果感觉好,别忘了star哦。 二、介绍 2.1 Java并发编程之美 我的一...

  • 我的Java三剑客配套源码

    一、前言 随书源码目前都托管到github上,无论你是否购买了书籍,都可以免费clone到本地,如果感觉好,别忘了star哦。 二、介绍 2.1 Java并发编程之美 我的一...

  • 赞👍, 正好帮助到了我, 感谢 Up 主

    MySQL:简单insert 一秒原因排查

    这个问题是来自一位朋友,我通过pstack最终确认问题,涉及到两个参数的设置,我将从源码进行解释,如果有误还请见谅。 一、问题展示 1、简单插入需要1秒 语句截图如下: 耗时...

  • 可以看一下ArrayBlockingQueue 源码中 ReentrantLock, Condition 的使用, 就能理解了

    AbstractQueuedSynchronizer 源码分析 (基于Java 8)

    1. AbstractQueuedSynchronizer 定义 AbstractQueuedSynchronizer 是JUC 中通过 Sync Queue(并发安全的 C...

  • “5. 在子类的 tryAcquire, tryAcquireShared 中实现公平与非公平的区分 ”, 这个说话是错误的。这个是用来实现共享与排它语义的,而不是实现公平与非公平的区分,公平与非公平靠的是hasQueuedPredecessors

  • 关于 hasQueuedPredecessors中,如果tail和head不同,并且head的next为空或者head的next的线程不是当前线程,则表示队列不为空。有两种情况会导致h的next为空:
         1)当前线程进入hasQueuedPredecessors的同时,另一个线程已经更改了tail(在enq中),但还没有将head的next指向自己,这中情况表明队列不为空;
         2)当前线程将head赋予h后,head被另一个线程移出队列,导致h的next为空,这种情况说明锁已经被占用。

    楼主提到的是第二种情况

  • 安静的陪伴

    就想陪在你身边,不说一句话。

  • 120
    写在我的2018年

    西安的冬天要比往年冷很多,刚刚从城里回到公寓,仿佛外面的冷气被暖气隔绝一样,它依旧没能被驱走…… 我被冻的直打哆嗦,两手来回挫都觉得不管用呢。想起今天是2018的最后一...

  • 不全,我家是我和儿子睡,媳妇自己睡