Dispatcher 썸네일형 리스트형 [코루틴] 무제한 디스패처 (Unconfined Dispatcher) 무제한 디스패처 (Unconfined Dispatcher)코루틴을 실행시킨 스레드에서 즉시 실행하도록 만드는 디스패처호출된 스레드가 무엇인지 상관없어 실행 스레드가 제한되지 않아 무제한 디스패처fun main() = runBlocking { launch(Dispatchers.Unconfined) { println("launch 실행 스레드 : ${Thread.currentThread().name}") }}// 결과launch 실행 스레드 : main 특징코루틴을 생성한 스레드에서 즉시 실행fun main() = runBlocking(Dispatchers.IO) { println("runBlocking 실행 스레드 : ${Thread.currentThread().name}").. 더보기 [코루틴] 코루틴의 스레드 동작 코루틴은스레드 사용이 필요 없어지면 스레드 양보스레드를 양보하는 주체 CoroutineDispatcher는스레드에 코루틴을 할당 코루틴이 스레드를 양보하려면 스레드 양보 함수를 호출해야 한다그러지 않으면 완료될 때까지 스레드를 점유 코루틴에서 스레드를 양보하는 방법delayjoin, awaityield delay 일시 중단 함수fun main() = runBlocking { val startTime = System.currentTimeMillis() repeat(10) { repeatTime -> launch { // delay로 1초 동안 메인 스레드 사용하도록 양보 delay(1000L) // Thread.sleep(1.. 더보기 CoroutineDispatcher 란 무엇인가 코틀린 코루틴의 정석 책을 참고하여 CoroutineDispatcher에 대해 알아보자. CoroutineDispatcher 란 무엇일까?Coroutine(코루틴) + Dispatcher(보내다)로 코루틴을 보내는 주체를 말한다. 그렇다면 코루틴을 어디에다 보내는 것일까? 스레드(Thread)로 보낸다. 즉, ThreadPool 안의 스레드에게 코루틴을 보내 실행시키는 역할을 담당한다. 코루틴 Dispatcher는 아래와 같이 CoroutineContext의 Element임을 알 수 있다. public abstract class CoroutineDispatcher : AbstractCoroutineContextElement(ContinuationInterceptor), ContinuationInterce.. 더보기 이전 1 다음