[코틀린 동시성] CH3 라이프 사이클과 에러 핸들링
이 포스팅은 <코틀린 동시성 프로그래밍>, 미구엘 엔젤 카스티블랑코 토레스, 에이콘출판사(2020)을 읽고 개인 학습용으로 정리한 글입니다.
🔎검색용 키워드
(블로그 주인이 블로그 내 검색을 하기 위한 검색 키워드)
잡과 디퍼드
- 결과가 없는 비동기 함수
- 결과를 반환하는 비동기 함수
잡(Job)
예외 처리
라이프 사이클
-
New(생성), Active(활성), Completed(완료됨), Canceling(취소 중), Cancelled(취소됨)
-
CoroutineStart.LAZY
-
생성 상태에 있는 잡
-
잡의 실행 취소
- cancel(), cause
- cancelAndJoin()
-
취소 또는 처리되지 않은 예외로 인해 종료된 잡
- getCancellationException()
- CancellationException
- CoroutineExceptionHandler
- invokeOnCompletion()
-
실행이 완료된 잡
-
잡의 현재 상태 확인
- isActive, isCompleted, isCancelled
디퍼드(Deferred)
- async(), await()
- CompletableDeferred
예외 처리
- awit(), try-catch
- CoroutineExceptionHandler
상태는 한 방향으로만 이동