当前位置: 代码迷 >> 综合 >> Java集合--ArrayBlockingQueue
  详细解决方案

Java集合--ArrayBlockingQueue

热度:5   发布时间:2023-12-16 12:09:56.0
ArrayBlockingQueue是数组实现的线程安全的有界的阻塞队列。
线程安全是指,ArrayBlockingQueue内部通过“互斥锁”保护竞争资源,实现了多线程对竞争资源的互斥访问。而有界,则是指ArrayBlockingQueue对应的数组是有界限的。 阻塞队列,是指多线程访问竞争资源时,当竞争资源已被某线程获取时,其它要获取该资源的线程需要阻塞等待;而且,ArrayBlockingQueue是按 FIFO(先进先出)原则对元素进行排序,元素都是从尾部插入到队列,从头部开始返回。

注意:[color=red][b]ArrayBlockingQueue不同于ConcurrentLinkedQueue,ArrayBlockingQueue是数组实现的,并且是有界限的;而ConcurrentLinkedQueue是链表实现的,是无界限的。[/b][/color]

ArrayBlockingQueue的数据结构,如下图所示:
[img]http://images.cnitblog.com/blog/497634/201312/30232555-bceb5a739eff444da550ad5c0994b341.jpg[/img]

参考:[url]http://blog.csdn.net/qq924862077/article/details/75653153[/url]

[size=medium][color=blue][b]ArrayList线程不安全详解[/b][/color][/size]
[url]http://blog.csdn.net/zhangxin961304090/article/details/46804065[/url]
  相关解决方案