首页 > 解决方案 > Kotlin 可变集合是线程安全的吗?

问题描述

尽管阅读了Kotlin关于集合的文档,但我找不到 Kotlin 的可变集合是否是线程安全的以及是否有任何并发​​的替代实现(如Java 中的HashMapConcurrentHashMap )

注意:当我们这样做时,我指的是 Kotlin 创建的集合:

mutableMapOf<>()
mutableListOf<>()
mutableSetOf<>()

标签: kotlincollectionsthread-safety

解决方案


mutableMapOf( MutableMap)、mutableListOf( MutableList) 或mutableSetOf( )返回的集合没有线程安全保证MutableSet

为了实现线程安全,您可以使用相应的 Java Collections 包装器来包装它们:

val myThreadSafeMap = Collections.synchronizedMap(mutableMapOf())

推荐阅读