Kotlin 是否有相当于 Java 的 Collections.synchronizedList 的东西?或者 Kotlin 中不需要这个

问题描述 投票:0回答:2

在 Kotlin 中编码,需要一个线程安全的列表,如下所述:java 并发数组列表访问

Collections.kt 好像没有这个功能。 Kotlin 的可变列表已经是线程安全的吗?如果没有,我该如何实现这一目标?

谢谢。

java list concurrency kotlin thread-safety
2个回答
18
投票

如果我尝试使用 Java 列表,则会出现警告消息“此类不应在 Kotlin 中使用...”

Java 列表(和其他集合)是 Kotlin 中的映射类型。所以你可以使用

Collections.synchronizedList
,它接受并返回一个Kotlin
List
MutableList

OTOH,

synchronizedList
很少是您真正想要的:它适用于单个方法调用,但其他任何内容都必须手动同步。


0
投票

您可以使用 CopyOnWriteArrayList 是 Arraylist 的线程安全变体

© www.soinside.com 2019 - 2024. All rights reserved.