import kotlinx.coroutines.* import kotlinx.coroutines.channels.actor import kotlinx.coroutines.sync.Mutex import kotlinx.coroutines.sync.withLock import java.util.concurrent.atomic.AtomicInteger import kotlin.system.measureTimeMillis @Volatile // volatile 로 선언한다고 해서 동기화 문제가 해결되지 않는다. var counter = 0 // 일반적인 해결책으로는 (스레드나, 코루틴이나) thread-safe data structure 를 이용 val counterAtomic = AtomicInteger() ..