blocked Queue
来源:互联网 发布:千里马计划软件下载 编辑:程序博客网 时间:2024/06/04 19:09
有几种blocked Queue
系统开发中,经常会用到 阻塞型的容器,适合于实现“消费者生产者”模式
转发
类图介绍
核心接口
放入数据
- offer(anObject): 非阻塞, 表示如果可能的话,如可容纳,return true;
- offer(E o, long timeout, TimeUnit unit), 阻塞+超时;
- put(anObject): 一直阻塞;
获取数据
- poll(time): 阻塞+超时, 取走首位的对象
- take(): 一直阻塞, 取走排在首位的对象;
- drainTo(): 批量获取所有可用的数据对象(还可以指定获取数据的个数), 提升获取数据效率;不需要多次分批加锁或释放锁。
ArrayBlockingQueue
LinkedBlockingQueue
它对头和尾(取和添加操作)采用两把不同的锁,相对于ArrayBlockingQueue提高了吞吐量
ConcurrentLinkedQueue
是一个无锁的queue实现,它采用了一种无锁算法(在API中有说明),相比于传统的同步的queue来说吞吐量可以大大提高,同时它也不同于BlockingQueue,并不单单提供阻塞操作。它主要的目的是通过采用无锁的算法,使得read/write操作均不需要对容器加锁,提高容器吞吐量
0 0
- blocked Queue
- Queue
- queue
- Queue
- QUEUE ~
- queue
- queue
- queue
- queue
- queue
- queue
- Queue
- Queue
- queue
- queue
- Queue
- Queue
- queue
- 这小半辈子的几次思维的转变
- 判断当前应用是在前台还是后台
- Linux内核之rbtree(红黑树)
- 哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
- 集群启动快速指南
- blocked Queue
- Eclipse在连接hadoop时Unsupported major.minor version 51.0问题解决
- bash shell
- 音频条形图,顶部带小矩形
- ?不是很理解的分治法Majority Element
- mysql主从配置
- 获取总内存?
- [数据结构]第八章-字典
- 计算机运算中对小数的处理