Kotlin/비동기 프로그래밍2 [Kotlin] 코루틴 동기화 방법 코루틴은 동시성 작업을 다루는 데 유용한 도구이며, 동시에 여러 코루틴이 접근하는 공유 데이터에 대한 동기화를 효과적으로 처리할 수 있습니다. 1. Mutex (Mutual Exclusion) 코루틴 간에 공유된 데이터에 안전하게 접근하기 위해 Mutex를 사용할 수 있습니다. Mutex는 임계 영역(Critical Section)을 설정하여 한 번에 하나의 코루틴만 해당 영역에 접근할 수 있게 합니다. import kotlinx.coroutines.* import kotlinx.coroutines.sync.Mutex import kotlinx.coroutines.sync.withLock var sharedVariable = 0 val mutex = Mutex() suspend fun incremen.. 2023. 11. 22. [Kotlin] 스레드간 동기화 방법 1. Synchronized 메서드: class MyRunnable : Runnable { private var sharedVariable = 0 // synchronized 메서드 @Synchronized private fun increment() { sharedVariable++ } override fun run() { for (i in 0 until 10000) { increment() } } } 2. Synchronized 블록: class MyRunnable : Runnable { private val lock = Any() private var sharedVariable = 0 override fun run() { for (i in 0 until 10000) { synchronized(lock.. 2023. 11. 22. 이전 1 다음