kotlin coroutines

동기화 블로킹멀티 스레딩, 멀티 프로세싱에서 중요한 것은 공유 상태 및 경쟁 상태이다. 다른 스레드에서 하나의 값을 수정, 조회할 때 서로 다른 값이 출력된다. 그래서 다음과 같은 코드에서는 예상하는  값이 나오지 않는다.suspend fun main(): Unit { var i = 0 coroutineScope { repeat(1_000_000) { launch { i++ } } } println(i) // ~998242} 자바에서 사용되는 `synchronized` 블록이나 동기화된 컬렉션을 사용해 해결할 수 있다. var i = 0fun main() = runBlocking { val lock = Any() re..
easyhz
'kotlin coroutines' 태그의 글 목록