목록2022/08/23 (1)
백엔드 개발 블로그
[Kotlin] 코틀린 launch, async 차이점
Kotlin 1.5 기준으로 작성된 글입니다. 코틀린 코루틴에서 새로운 경량 쓰레드에서 작업을 생성하기 위해선 launch 혹은 async를 사용한다. 둘의 자세한 차이점 및 사용시 주의사항에 대해 알아보자. TL;DR launch는 작업을 실행만 시키고 그 결과에 관심이 없으며, 각 job 마다의 오류를 처리할 필요가 없을 경우 사용한다. launch 내에서 발생한 오류는 join() 메소드 호출 시 catch할 수 없으며, 오류는 부모 job으로 전파된다. 만약 supervisorScope 등을 사용하여 부모 job으로 전파되지 않는 경우, 오류는 unhandled exception으로 취급되어 프로그램 실행에 영향을 끼칠 수 있다. async는 작업 실행의 결과(반환값)를 얻어올 수 있으며 각 jo..
Kotlin
2022. 8. 23. 23:30