Kotlin是否与Java的Collections.synchronizedList等效?还是在Kotlin中不需要

A.S*_*.SD 12 java concurrency list thread-safety kotlin

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

似乎Collections.kt没有此功能。Kotlin的可变列表已经是线程安全的吗?如果没有,我该怎么做?

谢谢。

Ale*_*nov 6

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

Java列表(和其他集合)是Kotlin 中的映射类型。因此,您可以使用Collections.synchronizedList,并接受并返回Kotlin ListMutableList

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

  • @user924 不,我等了三年你才帮我读到它并指出我没有这样做:) (10认同)
  • 是的,例如,它并不能真正阻止`ConcurrentModificationException`。您仍然可以同时使用两个方法/功能从两个不同的线程访问列表时得到它。 (2认同)