코루틴 정리(뮤텍스, 액터)


코루틴 정리(뮤텍스, 액터)

1. 시작하며 지금 당장에 진행하고 있는 프로젝트에는 적용되어 있는 부분은 아니다. 하지만 비동기 프레임워크를 다루려고 하고, 제대로 다루고자 한다면, 여러가지 스레드가 동시에 도는 환경에서 이를 안전하게 제어할 수 있는 '공유 자원에 대한 동시성 처리'에 대해 알 필요가 있다고 본다. 그럼 동시성 처리에 대해 알아가기 전, 문제가 될 수 있는 경우를 한번 봐보자. private suspend fun CoroutineScope.massiveRun(action: suspend() -> Unit) { val n = 100 val k = 1000 val time = measureTimeMillis { val jobs = List(n) { launch { repeat(k) { action() } } } jobs.forEach { it.join() } } Log.i("coroutineLog", "${n * k}번 반복문을 돌 예정, 연산 시간 : $time ms") } fun main { v...


#actor #코루틴뮤텍스 #액터 #안드로이드액터 #안드로이드뮤텍스 #뮤텍스 #mutex #coroutinemmmutex #coroutineactor #coroutine #android #코루틴액터

원문링크 : 코루틴 정리(뮤텍스, 액터)