JDK容器与并发—Queue—SynchronousQueue

来源:互联网 发布:性能测试 知乎 编辑:程序博客网 时间:2024/05/22 03:06

概述

      无容量的同步队列,即入队线程通过SynchronousQueue将节点传递给出队线程,若暂时无出队线程接收,则一直等待;反之亦然。

数据结构


构造器

// 无参构造public SynchronousQueue() {this(false);}// 带fair构造public SynchronousQueue(boolean fair) {transferer = fair ? new TransferQueue() : new TransferStack();}

增删

public void put(E o) throws InterruptedException {if (o == null) throw new NullPointerException();if (transferer.transfer(o, false, 0) == null) {Thread.interrupted();throw new InterruptedException();}}public E take() throws InterruptedException {Object e = transferer.transfer(null, false, 0);if (e != null)return (E)e;Thread.interrupted();throw new InterruptedException();}

特性

      同步队列

0 0
原创粉丝点击