java阻塞队列BlockingQueue

BlockingQueue阻塞队列简化了生产者-消费者模型.,适用于线程池和消息中间件。

基本方法: 1.add /remove方法 满/空 时抛出异常。element()返回队列。

                   2.offer(成功返回true)/poll方法 (空返回null) 。  返回是否成功。peek()返回队列。

                   3.put/take  阻塞。最有价值的一个操作组。

                   4.offer(返回是否成功)/poll方法 带延时参数,不会永远阻塞,阻塞时间超时返回结果。

java中实现该接口的一共7个类:

1.ArrayBlockingQueue由数组组成的有界阻塞队列

构造时必需指定初始值。

2.LinkedBlockingQueue由链表组成的有界阻塞队列(最大Integer.MAX,界限很大)

3.PriorityBlockingQueue 支持优先级的无界阻塞队列

4.DelayQueue优先级队列实现的无界阻塞队列

5.SynchronousQueue 单个元素的阻塞队列

6.LinkedTransferQueue链表组成的无界阻塞队列

7.LinkedBlockingDeque双向链表组成的阻塞队列

工作秘取(work stealing)模式,适用于既是消费者也是生产者的问题。

 

有界队列时一种强大的资源管理工具,在负载过载的情况下,提升了系统的健壮性。

 

 

未完--------------------------------待续

你可能感兴趣的:(J.U.C)