专栏名称: ImportNew
伯乐在线旗下账号,专注Java技术分享,包括Java基础技术、进阶技能、架构设计和Java技术领域动态等。
目录
今天看啥  ›  专栏  ›  ImportNew

并发队列 – 有界阻塞队列 ArrayBlockingQueue 原理探究

ImportNew  · 公众号  · Java  · 2017-07-17 13:03
    

文章预览

(点击 上方公众号 ,可快速关注) 来源:今天你不奋斗明天你就落后, www.jianshu.com/p/ff116eaad0dd 如有好文章投稿,请点击 → 这里了解详情 一、 前言 上节介绍了无界链表方式的阻塞队列LinkedBlockingQueue,本节来研究下有界使用数组方式实现的阻塞队列ArrayBlockingQueue。 二、 ArrayBlockingQueue类图结构 如图ArrayBlockingQueue内部有个数组items用来存放队列元素,putindex下标标示入队元素下标,takeIndex是出队下标,count统计队列元素个数,从定义可知道并没有使用volatile修饰,这是因为访问这些变量使用都是在锁块内,并不存在可见性问题。另外有个独占锁lock用来对出入队操作加锁,这导致同时只有一个线程可以访问入队出队,另外notEmpty,notFull条件变量用来进行出入队的同 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览