Java 的 JDK 中是否有并发列表?ConcurrentLinkedQueue

2022-08-31 04:53:28

如何创建并发列表实例,在其中可以按索引访问元素?JDK 是否有任何可以使用的类或工厂方法?


答案 1

ConcurrentLinkedQueue

如果您不关心基于索引的访问权限,而只想获得列表的插入顺序保留特征,则可以考虑使用java.util.concurrent.ConcurrentLinkedQueue。由于它实现了 Iterable,因此在完成添加所有项目后,可以使用增强的语法循环访问内容:

Queue<String> globalQueue = new ConcurrentLinkedQueue<String>();

//Multiple threads can safely call globalQueue.add()...

for (String href : globalQueue) {
    //do something with href
}

答案 2

java.util.concurrent 中有一个并发列表实现。特别是CopyOnWriteArrayList