Kotlin Coroutine

블록 내부의 모든 코루틴에 SupervisorJob()을 설정 : supervisorScope 앞선 12번글에서 SupervisorJob을 이용해 Error을 Handling하는 방법을 알았다. 하지만, 매번 CoroutineContext에 SupervisorJob을 설정할 필요 없이 특정 블록 내부의 모든 코루틴에 Supervisor Job을 설정하고 싶을 수 있다. 이 때 사용하는 것이 바로 supervisorScope이다. 과 같이 supervisorScope 내부에 코루틴이 있다면 모든 코루틴은 SupervisorJob의 적용을 받게된다. 예를들어 아래와 같은 코드가 있다고 해보자. suspend fun main() { CoroutineScope(Dispatchers.IO).launch { // ..
CoroutineContext 앞서 우리는 다음의 내용들을 배웠다. Dispatcher: 코루틴이 실행될 스레드 풀을 잡고 있는 관리자 CoroutineExceptionHandler: 코루틴에서 Exception이 생겼을 때의 처리기 그런데 이 두 가지 요소는 CoroutineContext가 들어가야 할 자리에 그대로 들어갈 수 있다. 에서는 Dispatcher가 CoroutineContext 자리에 들어간다. 에서는 CoroutineExceptionHandler가 CoroutineContext자리에 들어간다. 이것이 가능한 이유는 각각이 CoroutineContext를 확장하는 인터페이스의 구현체이기 때문이다. *CoroutineDispatcher의 내부 살펴보기 더보기 public abstract c..
Dev.Cho
'Kotlin Coroutine' 태그의 글 목록