韩漫免费漫画在线观看方法,《好好疼爱里面》免费看,年轻漂亮的女士护士内衣,妈妈醉酒后把我当爸爸电视剧

文章 > 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处理一些出队问题。

关注

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

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

孤男寡女免费观看高清电视剧狂飙 | 《请好好疼爱里面》免费观看| 闺蜜老公把我压在怀里| 粗大挺进亲女小雅小| 爱爱内含光| 坤坤寒进桃子里在线看歌词| 他的大手在秘密花园游走漫画| 日韩大片PPT免费PPT| 欧美人与性口牲饺配视频免费| 《课后2对1特别授课》女主角是..| 美女和帅哥一起努力生产豆浆| 三级产区和二级产区的区别与联系| 精品卡一卡二卡3卡高清乱码| 年轻的母亲在线观看完整版刘海的...| YSL千人千色T9T9T9T9... | 一阴吞两阳与MACD的关系. | 《停不了的爱》床戏| 星空传媒天美传媒有限公司 | 日产MV和欧美MV的外观对比| 速度与激情10| 男人为什么最后要加速| 出差3| 二人生猴子全程免费| 广汇能源股吧| 一路向西在线播放| 甜蜜惩罚免费观看第一季全集| 妈妈的绣感1| 36A的胸能夹到睾丸上吗图片| 苍井空| 女仆装| 《父债女偿》在线观看全集| 电影《满足2》完整版在线观看| 18岁的少女与狗高清电视剧 | GOOGLE官网入口| 一路向西在线| 欧美-区| 日本大片PPT免费| 粗大挺进亲女小雅小滨| 妻子的秘密在线观看免费全集| 榴莲APP官网下载1.0.3| 陌陌影视在线观看高清完整版