본문 바로가기
반응형

코루틴6

코루틴을 사용한 안전한 예외처리 - 1 코루틴을 사용한 예외처리는 꽤나 까다롭다. 두개의 코루틴(A, B)이 실행된다고 할 때 아래 상황을 고려할 수 있다. 각각 걸리는 시간 A: 1초 B: 2초 A가 먼저 끝나고 B가 그 뒤에 예외가 발생함 B가 실행 중에 A에서 예외가 발생함 A, B 둘 다 예외가 발생함 A, B 를 실행시키고 있는 부모 코루틴에서 예외가 발생함 A, B 둘 중 하나에서 예외가 발생하였고 main스레드에 의해 runBlocking 안에서 실행되고 있을 때 결론부터 이야기하면 예외처리를 잘 하기 위해서는 국소적으로 try catch를 사용해주는 것이 권장된다. 아래는 CoroutineExceptionHandler에 나오는 docs 내용이다. If you need to handle exception in a specific .. 2022. 1. 14.
코루틴을 사용한 동시성, 병렬처리 - 2 지난 시간에는 코루틴이 무엇인지? launch 를 사용한 동시처리, 병렬처리 그리고 delay, sleep 의 차이를 예를 들어 context, dispatcher 까지 폭넓게 살펴봤다. 코루틴을 사용한 동시성, 병렬처리 - 1 비동기, 논블록킹을 다룰 수 있는 기술은 매우 중요하다. 모바일 웹 화면의 경우 기본은 싱글 스레드로 작동하는데 비동기,논블록킹을 적용하지 않으면 화면의 여러 인터렉션을 동시에 처리할 thisdev.tistory.com 이번에는 비동기 처리 (async) 를 어떻게 하는지 짧게 살펴보도록 하겠다. suspend fun parallelAsync_multiple() = coroutineScope { val a1: Deferred = async { delay(1000) "job1" }.. 2022. 1. 14.
반응형