Wook No.1
코루틴, Coroutine 본문
코루틴(Coroutine) 이란
서브 루틴을 일시 정지하고 재개할 수 있는 프로그래밍
Thread와 차이점
Thread
- OS의 Native Thread에 직접 링크되어 동작하여 많은 시스템 자원을 사용한다.
- Thread간 전환 시에도 CPU의 상태 체크가 필요하므로 그만큼의 비용이 발생한다
Thread
- 코루틴은 즉시 실행하는 게 아니며, Thread와 다르게 OS의 영향을 받지 않아 그만큼 비용이 들어가지 않는다.
- 코루틴 전환시 Context Switch가 일어나지 않는다.
- 개발자가 직접 루틴을 언제 실행할지, 언제 종료할지 모두 지정이 가능하다.
- 이렇게 생성한 루틴은 작업 전환 시에 시스템의 영향을 받지 않아 그에 따른 비용이 발생하지 않는다.
'Kotlin' 카테고리의 다른 글
Scope Functions(let, with, run apply, also) (0) | 2021.06.23 |
---|
Comments