国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > java基础 > linkedblockingqueue在java中出队

linkedblockingqueue在java中出队

头像

小妮浅浅

2021-01-11 15:31:082552浏览 · 0收藏 · 0评论

在linkedblockingqueue中有增加元素的操作,那么对应的删除元素就是出队的操作了。这里我们挑选最常见的take方法来为大家进行演示。在了解了take的加锁方法以及学会队列元素的讨论区分后,进一步的在take实例中对元素的删除,即出队进行实例代码的展示。

1.take的出队使用

(1)使用takeLock加锁;

(2)如果队列空了就阻塞在notEmpty条件上;

(3)否则就出队;

(4)如果出队前元素数量大于1,唤醒其它阻塞在notEmpty条件上的线程;

(5)释放锁;

(6)如果取元素之前队列长度等于容量,就唤醒notFull条件;

2.take的出队实例

 public E take() throws InterruptedException {
        E x;
        int c = -1;            //设定一个记录变量
        final AtomicInteger count = this.count;     //获得count
        final ReentrantLock takeLock = this.takeLock;
        takeLock.lockInterruptibly();        //加锁
        try {
            while (count.get() == 0) {       //如果没有元素,那么就阻塞性等待
                notEmpty.await();
            }
            x = dequeue();            //一定可以拿到。
            c = count.getAndDecrement();
            if (c > 1)
                notEmpty.signal();        //报告还有元素,唤醒队列
        } finally {
            takeLock.unlock();
        }
        if (c == capacity)
            signalNotFull();           //解锁
        return x;
}

以上就是linkedblockingqueue在java中出队的方法,相信大家已经在之前的学习中熟练掌握take的用法和锁的原理。在学会本篇内容后,就可以使用linkedblockingqueue处理一些出队问题。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

母与子免费观看大全电视剧邻居大..| 双乳被四个男人吃奶H文| 美国大片又大又好看的PPT| 《黏糊糊的你》动漫免费观看| 我把刘姨俩腿扛在肩上是哪一集的 | 轮流和两个男人一起很容易染病吗| 西安天上人间| 高压监狱2法国1时43分| 《囚禁空姐》电影免费观看| 全黄做爰100分钟视频| 无耻家庭凯伦跟妈妈是哪一集 | 天美麻花高清在线看电视剧| 两个女人的战争在线观看| 暴躁少女免费看完整版| 99久久国产精品久久99| 王勉| 在床上的72种扦插方法| 黄金网站APP免费| 免费观看已满十八岁电视剧高清版 | -二三四在线视频观看社区| 苍井空《办公室爱欲》| 杨思敏电影| 爸爸VICIUSSS幼儿小女孩| 老阿姨2免费播放电视剧| 特级做A爱片久久久久久| 双男主高干文小说| 人与动物免费观看电视剧完整版| 《帐篷里的秘密》动漫| 美国伦理巜偷窥蝴蝶| 穿真空短裙挤公交会被赶走吗| 妈妈的职业4免费观看完整版高清| 学生妹高清版免费观看电视剧| 男生手进入是什么感觉| 老公刚日完又让朋友日| 高压监狱免费观看完整版在线播放| 《慈母夜吟》完整版| 少女配狗视频大全播放| 闺蜜说他老公特别大怎么回复| 《疯狂72小时》韩剧| 美丽小洞5荷尔蒙| AAA免费观看电视剧