logo

코루틴

* 관련 기술 스택이 없습니다
emoji

• 코루틴은 스레드에 종속적이지 않으며, 중단되었다가 재개될 때 다른 스레드에 배정될 수 있다. `runBlocking`은 일반 루틴과 코루틴을 연결하며, `launch`는 반환값이 없는 코루틴을 생성하고, `yield`는 현재 코루틴을 중단하고 다른 코루틴이 실행되도록 한다.
• 코루틴은 동일 스레드에서 실행되면 context switching 비용이 낮아 하나의 스레드에서 동시성을 확보할 수 있다. `runBlocking`은 내부 코루틴이 완료될 때까지 스레드를 블락킹 시키며, `launch`는 코루틴을 제어할 수 있는 객체를 반환한다.
• 코루틴의 async와 await를 사용하여 여러 API를 동시에 호출해 실행 시간을 단축할 수 있으며, 코루틴 취소는 cancel()로 가능하지만 취소 협조 조건을 만족해야 한다.
• 코루틴 예외 처리는 try-catch와 exception handler를 통해 가능하며, launch와 async의 차이점은 예외 발생 시 처리 방식에 있다.

thumbnail
북마크
공유하기
신고하기
9분 분량
조회수 110
profile-imageminjaekim-11
2달 전
Copyright © 2024. Codenary All Rights Reserved.