Backend/Kotlin
[Kotlin] thread-safe Collection
findmypiece
2022. 4. 14. 09:39
728x90
Coroutine를 병렬로 활용하다보면 thread-safe 한 Collection 이 필요해진다. 그런데 Kotlin 자체에서는 thread-safe 한 Collection 을 제공하지 않는다.
아래 함수는 모두 thread-safe 하지 않다.
mutableMapOf<String, String>()
mutableListOf<String>()
mutableSetOf<String>()
만약 thread-safe 한 Collection 을 사용하고 싶다면 Java의 Collections 에서 제공하는 wrapper 메소드를 활용하면 된다.
Collections.synchronizedMap(mutableMapOf<String, String>())
Collections.synchronizedList(mutableListOf<String>())
Collections.synchronizedSet(mutableSetOf<String>())
https://stackoverflow.com/questions/66169482/are-kotlin-mutable-collections-thread-safe
728x90