LinkedBlockingQueue的用法
2016-01-13 13:48
274 查看
在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列(先进先出)。Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue,非阻塞队列的典型例子是ConcurrentLinkedQueue,在实际应用中要根据实际需要选用阻塞队列或者非阻塞队列。
由于LinkedBlockingQueue实现是线程安全的,实现了先进先出等特性,是作为生产者消费者的首选,LinkedBlockingQueue
可以指定容量,也可以不指定,不指定的话,默认最大是Integer.MAX_VALUE,其中主要用到put和take方法,put方法在队列满的时候会阻塞直到有队列成员被消费,take方法在队列空的时候会阻塞,直到有队列成员被放进来。
由于LinkedBlockingQueue实现是线程安全的,实现了先进先出等特性,是作为生产者消费者的首选,LinkedBlockingQueue
可以指定容量,也可以不指定,不指定的话,默认最大是Integer.MAX_VALUE,其中主要用到put和take方法,put方法在队列满的时候会阻塞直到有队列成员被消费,take方法在队列空的时候会阻塞,直到有队列成员被放进来。
相关文章推荐
- The transaction log for database 'tempdb' is full due to 'ACTIVE_TRANSACTION'
- 解决UIScrollView中嵌入UITableVIew无法点击StatusBar滚动到顶部
- UIButton加彩色边框
- UILabel的自适应问题
- Easyui使用中遇到的问题和注意事项
- UIPickerView 双排选择时间点
- 关于UITableView的headerView和footerView
- 点击UIButton按钮,按钮切换不同图片
- AFNetWorking 错误Request failed: unacceptable content-type: text/html"
- CodedUI Test 测试WPF程序,无法获取控件属性值的解决方法
- easyui-combobox 关联和赋值
- easyUI之combox 级联和赋值
- 根据字符串计算UILabel的宽,高
- CodedUI Test 测试WPF程序,无法获取控件属性值的解决方法
- iOS 编程中 UI 部分UITableView基础知识
- UITableView的分割线去除左侧15像素从最左边开始绘制
- iOS UIDynamic动画
- UILabel的使用及常用属性的设置
- 限制UITextField输入字数(系统输入法候选输入同样适用)
- hdu 1005 Number Sequence