java.util.concurrent | BlockingQueue

1、BlockingQueue 是一个接口,若要使用必须使用其实例化对象,在java.util.concurrnt包中有以下实现类

  • ArrayBlockingQueue
  • DelayQueue
  • LinkedBlockingQueue
  • SynchronousQueue

2、BlockingQueue 向其中放入数据和取得数据是线程安全

3、BlockingQueue 的方法

Throws Exception Special Value Blocks Time Out
insert add(o) offer(o) put(o) offer(o,timeout,timeUnit)
remove remove(o) poll(o) take() poll(timeout,timeUnit)
examine element() peek()

以上四种行为意味着如下结果:
1、Throws Exception:
  如果无法立即执行,则抛出异常
2、Special Value:
  如果无法立即执行,则返回一个特定的值(通常是true/false)
3、Blocks:
  如果无法立即执行,则直接Block住,直到可以执行
4、Time Out:
  如果无法立即执行,则先Block住,在超时到达之时,还无法执行,则返回一个特定的值(通常是true/false)

你可能感兴趣的:(java.util.concurrent | BlockingQueue)