BlockingQueue

BlockingQueue的核心方法
放入数据:
  offer(anObject):表示如果可能的话,将anObject加到BlockingQueue里,即如果BlockingQueue可以容纳,
    则返回true,否则返回false.(本方法不阻塞当前执行方法的线程)
  offer(E o, long timeout, TimeUnit unit),可以设定等待的时间,如果在指定的时间内,还不能往队列中
    加入BlockingQueue,则返回失败。
  put(anObject):把anObject加到BlockingQueue里,如果BlockQueue没有空间,则调用此方法的线程被阻断
    直到BlockingQueue里面有空间再继续.
获取数据:
  poll(time):取走BlockingQueue里排在首位的对象,若不能立即取出,则可以等time参数规定的时间,
    取不到时返回null;
  poll(long timeout, TimeUnit unit):从BlockingQueue取出一个队首的对象,如果在指定时间内,
    队列一旦有数据可取,则立即返回队列中的数据。否则知道时间超时还没有数据可取,返回失败。
  take():取走BlockingQueue里排在首位的对象,若BlockingQueue为空,阻断进入等待状态直到
    BlockingQueue有新的数据被加入; 
  drainTo():一次性从BlockingQueue获取所有可用的数据对象(还可以指定获取数据的个数), 
    通过该方法,可以提升获取数据效率;不需要多次分批加锁或释放锁。

最新文章

  1. final,static
  2. C++设计新思维的traits和policy
  3. IntelliJ IDEA 13.x 下使用Hibernate + Spring MVC + JBoss 7.1.1
  4. 练习题之CyclicBarrier与CountDownLatch
  5. 《编程导论(Java)·2.1.3改写(override)》
  6. std::min 与std::max 的 Compiler Error C2780
  7. My way to Python - Day012 - 消息中间件
  8. xmanager 在 Windows 下远程桌面连接 麒麟
  9. leetcode Valid Parentheses python
  10. Swift - 表格图片加载优化(拖动表格时不加载,停止时只加载当前页图片)
  11. UVA - 11637 Garbage Remembering Exam (组合+可能性)
  12. Raspberry Pi 上使用WN725N连接WIFI
  13. WPF DEV实现手风琴效果
  14. tensorflow+入门笔记︱基本张量tensor理解与tensorflow运行结构
  15. thinkphp验证码不显示
  16. 微擎系统jssdk系统快速签名变量
  17. Vue 之 Vue.nextTick()
  18. java hibernate Criteria 删除数据 delete data 2种方法
  19. mysql行转列,列转行
  20. [转贴]SSL工作原理

热门文章

  1. BZOJ1202 [HNOI2005]狡猾的商人 【并查集】
  2. 【极值问题】【CF1063B】 Labyrinth
  3. Codeforces Round #540 (Div. 3) 部分题解
  4. Magic FZU - 2280 无脑HASH暴力
  5. mysql的IFNULL()函数FLOOR(),ROUND()函数
  6. expect使用小结
  7. [技巧篇]05.关于eclipse模版
  8. php下载大文件
  9. ICPC2017 Urumqi - K - Sum of the Line
  10. Maven-Dependency Mechanism