CoroutineBuilder 를 통해서 알아야할 것: coroutine의 범위(scope)에 대해서 이해하고, coroutineBuilder 의 여러종류의 키워드의 차이점을 이해한다. (launch, async, withContext, runBlocking, actor, produce)

CoroutineBuilder 를 사용하여서 coroutine 을 생성하는 기본 키워드는 이미 이전 포스팅에서 다루었기때문에(Kotlin – “coroutine” basic) 이전키워드에 추가하여서알아야할 키워드들을 정리하려고 한다.

CoroutineBuilderReturn비고
launch()리턴없음(Job)결과가 없는 코루틴을 생성
async()Deferred<T>await 함수를 통해서 코루틴 영역의마지막 라인을 결과로 받을수있음
결과값을 원하는 시점에 await함수로 결과값을 얻을수있음
withContext()T결과 T 를 그자리에서 리턴해서 받음
runBlocking()T코루틴들이 모두 완료할떄까지 쓰레드 점유, Main에서 코루틴 실행될 경우 코루틴을 기다렸다가 메인이 종료된다.
actor()SendChannel<E>SendChannel<E>를 반환, Send채널을 통해 actor()블록으로 채널을 통해 전송
produce()ReceiveChannel<E>블록 내부는 송신자(Sender)가 되고 / 반환된 ReceiveChannel이 수신자(Receiver)
갑자기 나온 Channel 은 곧 이야기하는것으로..

0