coroutine
Javascript Promise로 배우는 Kotlin Coroutine
Javascript Promise로 배우는 Kotlin Coroutine
2022.10.09Coroutine 이란? 처음 코루틴을 접했을 때 코틀린의 '코'를 따서 'Ko'routine 인줄 알았지만, 사실 코루틴의 Co는 Concurrency라는 의미를 가지고있습니다. 즉, 동시성 프로그래밍 개념을 코틀린에 도입한 것이 코루틴 이라고 합니다. 코루틴은 javascript Promise와 조금 다른 성질을 가지고 있습니다. 코루틴은 스레드 위에서 실행되는데 여러가지 코루틴 1,2,3이 존재한다고 할 때 코루틴1을 실행하던 중 코루틴2가 실행되어도 실행중인 스레드를 정지하면서 컨텍스트 스위칭 개념으로 다른 스레드로 전환하는 것이 아니라 기존 스레드를 유지하며 기존 스레드에서 코루틴2를 실행하게 됩니다. 이후 코루틴1을 다시 실행할 때 저장해둔 코루틴1 상태를 불러와 다시 스레드에서 코루틴1을 실..
[Kotlin] coroutine, suspend 함수 정리 및 예제
[Kotlin] coroutine, suspend 함수 정리 및 예제
2022.04.19Coroutine 코루틴이란. 실행의 지연과 재개를 허용함으로서, 비선점 멀티테스킹을 위한 서브루틴을 일반화한 구성요소입니다. 자세히 이해하기 위해 서브루틴과 비선점 멀티테스킹 두가지 개념을 알아야 합니다. 루틴과 서브루틴 루틴은 컴퓨터 프로그램에서 하나의 정리된 일(job)입니다. 프로그램은 보통 크고 작은 여러가지 루틴을 조합시킴으로써 만들어집니다. 루틴은 다시 메인루틴과 서브루틴으로 나뉩니다. 메인루틴은 프로그램 전체의 개괄적인 동작 절차를 표시하도록 만들어 집니다. 서브루틴은 반복되는 특정 기능을 모아 별도로 묶어 이름을 붙여 놓은 것입니다. 그리고 별도의 메모리에 해당 기능을 모아놓고 서브루틴이 호출될 때마다 저장된 메모리로 이동했다가 return 을 통해 원래 호출자의 위치로 돌아오게 됩니다...