개요코틀린 코루틴의 정석 4장 코루틴 빌더와 Job에 대한 내용을 정리했다. 1. 코루틴 빌더 및 Job 설명코루틴 빌더는 코루틴을 생성하는 함수로, runBlocking, launch 등이 있다. 이 코루틴 빌더 함수는 코루틴을 생성하고 코루틴을 추상화한 Job 객체라는 것을 반환한다. 이 Job객체는 코루틴의 상태를 추적하고 제어하는 데 사용된다.fun main() = runBlocking { val job: Job = launch(Dispatchers.IO) { println("${Thread.currentThread().name 적용}") }} 이 Job 객체를 사용해서 코루틴을 제어하고 조작하는 방법에 대해 정리해보겠다! 2. join을 통한 코루틴 순차 처리코루틴..
개요코틀린 코루틴의 정석 3장 CoroutineDispatcher에 대한 내용을 공부하고 정리한 글이다. 1. CoroutineDispatcher란?먼저, Dispatcher라는 단어에 대해 분석해보면 'dispatch(보내다) + er' => '보내는 주체'라는 뜻으로 해석된다. 즉, CoroutineDispatcher => '코루틴을 보내는 주체' Coroutine을 보낸다? 어디로? 바로 스레드에다! 코루틴이란 것은 일시 중단 가능한 '작업'으로 스레드에서 실행할 수 있기 때문에 이 CoroutineDispatcher라는 객체는 코루틴을 스레드로 보내 실행시키는 역할을 한다. 1-1. CoroutineDispatcher의 동작예시를 들어보자면,코루틴을 실행시키는 2개의 스레드로 구성된 스레드풀을 사..
개요코루틴에 대해 대략적으로 알고 있긴 하지만, 자세하게 질문이 들어왔을 때에는 대답하기가 어려웠다. 이에 자세하게 공부하면서 내용들을 하나씩 정리해야 겠다. 이 글은 예전 블로그에 쓴 글을 옮겨 온 글이다.1. 코루틴?코루틴이 나오기 이전에 앱이나 웹에서 비동기 처리를 위해 rx programming을 많이 사용해왔다. 하지만 구글이 안드로이드 공식 언어를 코틀린으로 변경한 이후에 코루틴에 대한 중요도도 상당히 높아졌다고 생각된다.코루틴은 스레드 안에서 실행되는 일시 중단 가능한 작업의 단위로 하나의 스레드에 여러 코루틴이 존재할 수 있다.코루틴은 resume 될 때 마다 다른 스레드에서 실행될 수 있고, 특정 스레드에서만 국한될 수 있다.코루틴의 특징 중 중요한 부분이 이 두가지이다.-> 협력형 멀티..