목록 보기
코루틴(Coroutine)이 뭔데?
백엔드

코루틴(Coroutine)이 뭔데?

TechKi Blog
TechKi Blog
2024년 8월 19일

두줄요약

코루틴의 기본 개념과 비동기 처리 원리를 Kotlin 예시로 설명했습니다.\n`async`, `await`, `suspend`를 통해 실행 흐름을 쉽게 이해하도록 정리했습니다.

핵심 내용

  • 코루틴의 기본 개념과 비동기 프로그래밍에서의 역할 소개
  • 스레드 차단을 줄이고 I/O 대기 동안 다른 작업을 처리하는 방식
  • Kotlin의 kotlinx.coroutinesasync, await, suspend 예시로 실행 흐름 설명

구조와 흐름

  • runBlocking 안에서 launchasync로 작업을 분리하는 흐름
  • delay를 이용한 I/O 대기 중 중단과 재개 동작
  • 결과 수집 시 await로 비동기 작업 완료 대기

선택 이유

  • UI 응답성 유지와 I/O 중심 작업 처리에 적합한 방식
  • Kotlin에서 비동기 코드를 더 읽기 쉽게 구성하는 수단
  • 멀티플랫폼과 MSA 환경에서 활용 가능성 제시

주의할 점

  • 코루틴이 스레드 자체를 없애는 개념은 아님
  • 목적에 맞는 launch, async, suspend 사용 구분 필요
  • 비동기 흐름 이해 없이 사용하면 코드 추적이 어려울 수 있음

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...