LinkedBlockingQueue(单链表)
1、添加操作
add:满了直接抛异常
put:一直阻塞,调用入队操作enqueue
offer:直接返回false,不会阻塞
offer(E e, long timeout, TimeUnit unit):指定超时时间后返回false
2、出队操作
take:为空时,一直阻塞
poll:返回null
poll(long timeout, TimeUnit unit):指定超时后返回null
remove():为空时,抛出异常
3、获取元素
peek:直接返回,为空时为null
element():为空时,抛出异常
ArrayBlockingQueue(数组)
1、添加操作
add:满了直接抛异常
put:一直阻塞,调用入队操作enqueue
offer:直接返回false,不会阻塞
offer(E e, long timeout, TimeUnit unit):指定超时时间后返回false
2、出队操作
take:为空时,一直阻塞
poll:返回null
poll(long timeout, TimeUnit unit):指定超时后返回null
remove():为空时,抛出异常
3、获取元素
peek:直接返回,为空时为null
element():为空时,抛出异常