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
'Backend > Kotlin' 카테고리의 다른 글
[Kotlin] SpringMVC WebClient 에 Resilience4j 적용하기 (0) | 2022.05.10 |
---|---|
[Kotlin] WebClient 에 동기식으로 사용하기 (0) | 2022.05.10 |
[Kotlin] 코틀린에서 Mapstruct 사용하기 (0) | 2022.04.05 |
[Kotlin] 로깅 (0) | 2022.03.08 |
[Kotlin] RequestBody 유효성 검증로직 추가하기 (0) | 2022.03.07 |