并发数据结构

Java 集合框架

Java 集合框架:Java collections framework,JCF。

JCF 提供了一个包含多种可用于串行编程的数据结构集合。
Java 并发 API 对这些数据结构进行了扩展,提供了另外一些可用于并发应用程序的数据结构,包括如下两项。

JCF接口

BlockingQueue

队列是一种线性数据结构,允许在队列的末尾插入元素且从队列的起始位置获取元素。

它是一个先入先出(FIFO)型数据结构,第一个进入队列的元素将是第一个被处理的元素。

JCF 定义了 Queue 接口,该接口定义了在队列中执行的基本操作。该接口提供了实现如下操作的方法。

BlockingDeque

与队列一样,双端队列也是一种线性数据结构,但是允许从该数据结构的两端插入和删除元素。

JCF 定义了 Deque 接口,该接口扩展了 Queue 接口。
除了 Queue 接口提供的方法之外,它还提供了从两端执行插入、检索且删除、检索但不删除等操作的方法。

ConcurrentMap

map (有时也叫关联数组)是一种允许存储(键,值)对的数据结构。
JCF 提供了 Map 接口,它定义了使用 map 的基本操作。

这些方法包括如下几个。

TransferQueue

该接口扩展了 BlockingQueue 接口,并且增加了将元素从生产者传输到消费者的方法。
在这些方法中,生产者可以一直等到消费者取走其元素为止。

该接口添加的新方法有如下几项。

JCF类

Java 并发 API 为之前描述的接口提供了多种实现,其中一些实现并没有增加任何新特征,而另一些实现则增加了新颖有用的功能。