在 Kotlin 中编码,需要一个线程安全的列表,如下所述:java 并发数组列表访问
Collections.kt 好像没有这个功能。 Kotlin 的可变列表已经是线程安全的吗?如果没有,我该如何实现这一目标?
谢谢。
如果我尝试使用 Java 列表,则会出现警告消息“此类不应在 Kotlin 中使用...”
Java 列表(和其他集合)是 Kotlin 中的映射类型。所以你可以使用
Collections.synchronizedList
,它接受并返回一个KotlinList
或MutableList
。
OTOH,
synchronizedList
很少是您真正想要的:它适用于单个方法调用,但其他任何内容都必须手动同步。
您可以使用 CopyOnWriteArrayList 是 Arraylist 的线程安全变体