1. launch란?launch는 새로운 코루틴을 시작하는 코루틴 빌더입니다. 비동기적으로 작업을 시작하며, 결과를 반환하지 않는다는 점에서 async와 차별됩니다.코루틴을 시작하는 함수로, 실행된 코루틴은 비동기로 동작합니다.경량 스레드와 비슷한 개념으로, 별도의 스레드를 차지하지 않고 코루틴이 독립적으로 실행됩니다.launch로 생성된 코루틴은 결과값을 반환하지 않으며, 종료된 시점을 명시적으로 기다리거나 확인할 필요가 없을 때 사용합니다.간단한 예제 (launch):import kotlinx.coroutines.*fun main() = runBlocking { // launch를 사용해 새로운 코루틴을 시작 launch { delay(1000L) println("..
7. 실제 프로젝트 적용 예제프로젝트 개요이번 프로젝트에서는 간단한 네트워킹 요청을 비동기로 처리하고, 이를 코루틴을 사용해 효율적으로 관리하는 방법을 다룹니다. 가정해보는 시나리오는 여러 REST API 호출을 병렬로 처리하고, 결과를 병합하는 상황입니다.7.1 프로젝트 구성fetchDataFromApi1(): 첫 번째 API에서 데이터를 가져오는 비동기 함수.fetchDataFromApi2(): 두 번째 API에서 데이터를 가져오는 비동기 함수.processData(): 두 API에서 받은 데이터를 처리하는 함수.구조화된 동시성(Structured Concurrency)를 사용하여 병렬 작업을 관리하고, 예외 발생 시 안전하게 처리하는 방식으로 진행합니다.7.2 코드 예제: 병렬 네트워킹 요청 처리i..
3. 코루틴의 동작 원리 및 구조화된 동시성 (Structured Concurrency)이제 코틀린 코루틴에서 구조화된 동시성(Structured Concurrency)에 대해 살펴보겠습니다. 이 개념은 코루틴의 안정성과 예외 처리에 중요한 역할을 하며, 코드가 복잡해질수록 필수적으로 이해해야 할 개념입니다.3.1 코루틴의 동작 원리3.1.1 중단 함수(suspend 함수)코루틴은 중단 가능한 함수(suspend 함수)를 통해 비동기 작업을 중단하고 나중에 다시 재개할 수 있습니다. 코루틴 내에서 중단 함수가 호출되면, 해당 코루틴은 중단되며 다른 작업을 계속 진행할 수 있습니다. 코루틴의 핵심은 이러한 비동기 처리를 동기적 코드처럼 작성할 수 있다는 점입니다.예시로, delay 함수는 중단 함수의 한 ..