[Android/코루틴] 1. 코루틴은 무엇이고 왜 쓰는가?
Android/공부·2023. 9. 21.
들어가기 전 프로젝트를 하면서 suspend 함수를 활용해 서버통신을 하는 코드를 작성한 경험이 있다. 이것이 코루틴이고 비동기 실행을 간단하게 해준다는 것 까지만 알고있었다. 원리 및 장점을 제대로 알고있는 채로 코루틴을 사용하고 싶다는 생각에 코루틴을 공부하면서 배운 내용들을 시리즈로 포스팅하고자 한다. Coroutine = Co + Routine 코루틴을 co(with의 의미) + routine = 루틴의 일종으로 협동루틴이라 할 수 있다. 코루틴은 [그림 1]과 같이 이전에 자신의 실행이 마지막으로 중단되었던 지점 다음의 장소에서 실행을 재개한다. 루틴과 코루틴을 비교하면 [그림 2]와 같다. 루틴이 입구와 출구가 하나라면, 코루틴은 중단과 재개가 계속될 수 있는 즉 입구와 출구가 여러개라고 할 ..