목록coroutine (2)
hyeals study
코루틴과 스레드 비교 코루틴 기본 옵션: 협력형이며 병행적으로 동작하지 않음(옵션 조절 가능) 스케줄러가 실행 시점을 결정하는 것이 아니라 프로그래머나 이벤트에 의해서 실행 및 지연(suspend), 재개(resume)시점이 결정됨 비선점형 멀티 태스크 동시성(concurrency)제공 독립적 스택을 가질 수도 있으나 일반적으로 스택을 다시 생성하지 않음 스레드 개수에 따라 완전히 병행적으로 동작할 수 있음 OS의 스케줄러가 실행 시점을 결정함 (스케줄러가 선점할 수 있음) 선점형 멀티태스크 멀티 프로세싱 병행성(Parallelism) 제공 스레드별로 독립적인 스택을 가짐 간단한 코루틴 예시 import kotlinx.coroutines.delay import kotlinx.coroutines.runBl..
코루틴(Coroutine)이란? 비선점(non-preemptive)멀티태스킹의 서브루틴(subroutine) 형태 지연(suspend-잠시 중단)과 재개(resume-물러나 있다가 다시 실행)가 가능 협력형(cooperative)태스크와 비슷하게 동작(Context switching이 없고 최적화된 비동기 함수를 통해 비선점형으로 작동하는 특징 때문) → 동시성을 제공함(병행성×) 코루틴을 이해하기 위한 개념들 ◎ Task ☞ 프로그램상에서 특정 할 일, OS상에서 표현하는 방법은 여러가지로 나뉘는데 그 중 Process와 Thread가 있음. Process Thread 메모리 독립적인 메모리 공유 메모리 스택 독립적인 스택 독립적인 스택 * Process ☞ 하나의 Program이 실행되면 시작됨 ☞ ..