[코틀린 동시성] CH4 일시 중단 함수와 코루틴 컨텍스트

0
post-thumbnail

[코틀린 동시성] CH4 일시 중단 함수와 코루틴 컨텍스트

이 포스팅은 <코틀린 동시성 프로그래밍>, 미구엘 엔젤 카스티블랑코 토레스, 에이콘출판사(2020)을 읽고 개인 학습용으로 정리한 글입니다.

🔎검색용 키워드

(블로그 주인이 블로그 내 검색을 하기 위한 검색 키워드)

일시중단 함수

  • 코루틴 빌더
    • launch(), async(), runBlocking()
    • 일시중단 람다
  • suspend 제어자
  • delay()

동작 중인 함수를 일시중단

비동기 함수로 레포지토리 구현

  • async, Deferred, await()

일시중단 함수로 업그레이드

코루틴 컨텍스트

디스패처(Dispatcher)

  • CommonPool

  • 기본 디스패처

    • Dispatchers.Default
  • Dispatchers.Unconfined

  • 단일 스레드 컨텍스트

    • newSingleThreadContext()
  • 스레드 풀

    • newFixedThreadPoolContext()

예외처리

  • 예측이 어려운 예외(Uncaught exception)

  • CoroutineExceptionHandler

  • Non-cancellable

    • CancellationException
    • try-finally
    • cancelAndJoin()
    • NonCancellable 컨텍스트

컨텍스트에 대한 추가 정보

컨텍스트 결합(조합)

컨텍스트 분리

  • minusKey(), dispatcher.key

withContext를 사용하는 임시 컨텍스트 스위치

  • withContext()
profile
Be able to be vulnerable, in search of truth

0개의 댓글