std.collection.concurrent 包

功能介绍

collection.concurrent 包提供了并发安全的集合类型实现。

本包实现了以下几种并发安全的集合类型:

  • ArrayBlockingQueue:以数组的形式实现的具有固定大小的有界队列。

  • BlockingQueue:一个线程安全的队列,它支持在队列为空时阻塞获取元素的操作,以及在队列已满时阻塞添加元素的操作。

  • ConcurrentHashMap:线程安全的哈希表实现,支持高并发的读写操作。

  • NonBlockingQueue:一种线程安全的队列数据结构,特点是在添加元素时,如果当前的尾部Block已满,那么会创建一个新的Block,而不是阻塞等待。这样可以保证在多线程环境下,队列的操作不会因为阻塞而导致线程的阻塞,从而提高了程序的性能。

API 列表

接口

接口名功能
ConcurrentMap<K, V> where K <: Equatable<K>保证线程安全和操作原子性的 Map 接口定义。

类名功能
ArrayBlockingQueue<E>基于数组实现的 Blocking Queue 数据结构及相关操作函数。
BlockingQueue<E>实现是带阻塞机制并支持用户指定容量上界的并发队列。
ConcurrentHashMapIterator<K, V> where K <: Hashable & Equatable<K>此类主要实现 Concurrent HashMap 的迭代器功能。
ConcurrentHashMap<K, V> where K <: Hashable & Equatable<K>此类用于实现并发场景下线程安全的哈希表 ConcurrentHashMap 数据结构及相关操作函数。
NonBlockingQueue<E>提供一个线程安全的队列,可以在多线程环境下安全地进行元素的添加和删除操作。