
Kotlin 애플리케이션에서 실행 진입점(entry point)은 main 함수를 통해 정의된다. 이는 다른 프로그래밍 언어에서도 흔히 사용되는 개념이며, 프로그램이 시작될 때 처음으로 실행되는 함수다.프로그램의 시작점:main 함수는 JVM 기반 애플리케이션에서 프로

CoroutineDispatcher을 직역하면 "코루틴을 보내는 주체"이다.이를 좀 더 자세히 얘기하면 "코루틴을 스레드로 보내 실행시키는 객체"라고 할 수 있다.CoroutineDispatcher는 코루틴이 어떤 스레드나 스레드 풀에서 실행될지를 결정하며,코루틴을 동
• ‘토큰 업데이트 후 네트워크 요청’, ‘이미지 변환 후 업로드 요청’ 같이 작업 간에 선후 관계(종속성) 있는 작업들이 있다. 이런 작업들이 만약 순차 처리가 안된다면, 문제가 생기기 때문에 꼭 순차 처리를 해주어야 한다.의도한 것은 토큰 업데이트 시작 -> 완료

앞선 게시글에서 살펴본 것은 launch 함수이다. launch 함수는 Job 객체를 리턴한다. 하지만 Job 객체는 코루틴의 실행 상태를 나타내는 객체로, 특정 코루틴이 실행 중인지, 완료되었는지 또는 취소되었는지를 관리한다.즉, 어떠한 결과값을 리턴하는 것이 아니다
launch와 async 선언부의 첫 매개변수는 CoroutineContext다. 우리는 앞서 CoroutineContext의 자리에 CoroutineDispatcher, CoroutineName을 넣었다. 1) CoroutineDispatcher을 넣었을 때 코루

구조화된 동시성의 원칙이란, 비동기 작업을 구조화하여 비동기 프로그래밍을 보다 안정적이고, 예측 가능하게 만드는 원칙이다.코루틴은 구조화된 동시성의 원칙을 사용하여, 비동기 작업인 코루틴을 부모-자식 관계로 구조화해 코루틴이 보다 안전하게 관리되고 제어될 수 있도록 한

runBlocking 함수를 호출하면 (부모 Job이 없는) 루트 Job 객체가 생성된다.루트 Job: 부모 job 객체가 없는, 구조화의 시작점 역할을 하는 Job 객체루트 Coroutine: 루트 Job 객체의 의해 제어되는 코루틴이런 식으로 runBlocking을

코루틴 실행 도중 예외가 발생하면, 예외가 발생한 코루틴이 취소되고 예외가 부모 코루틴으로 전파된다. 이때 만약 예외를 전파 받은 부모 코루틴도 예외를 적절히 처리하지 않는다면 취소되고, 그 상위의 코루틴으로 예외가 전파된다.코루틴이 예외를 전파 받아 취소되면, 취소가

일시 중단 함수는 일시 중단을 할 수 있는 곳에서만 호출할 수 있다.1\. 코루틴 내부2\. 일시 중단 함수 (자기자신)delayAndPrint()를 runBlocking 코루틴, launch 코루틴에서 각각 실행하였다.코루틴 내부에서 일시 중단 함수를 호출할 수 있다

루틴: 루틴이란, 특정한 일을 처리하기 위한 일련의 처리 과정프로그래밍에서의 루틴: 특정한 일을 처리하기 위한 일련의 처리 과정 == 함수(method)서브루틴: 함수 내에서 함수가 호출될 경우 호출된 함수를 '서브루틴'이라고 부른다.즉, 루틴에서 추가되는 실행되는 루