LinkedBlockingQueue是jdk1.5中新增加的一个高并发类 今天主要看了下源码中的put方法 ,put方法在调用的时如果 队列已满则进行等待,直至有新的空间。
其中队列的最大长度可以有以下几种设置方式
1.调用LinkedBlockingQueue的构造函数 设置最大的队列长度
public LinkedBlockingQueue(int capacity) {
if (capacity <= 0) throw new IllegalArgumentException();
this.capacity = capacity;
last = head = new Node<E>(null);
}
函数中的Node是LinkedBlockingQueue中的一个静态内部类,内部一共两个属性一个是当前节点的值,另外一个下一个节点的值
static class Node<E> {
E item;
Node<E> next;
Node(E x) { item = x; }
}