코루틴은 Co(함께, 서로) + routine(규칙적 일의 순서, 작업의 집합) 2개가 합쳐진 단어로 함께 동작하며 규칙이 있는 일의 순서를 뜻합니다.
위키피디아에서는 코루틴을 아래와 같이 정의하고 있습니다.
실행의 지연과 재개를 허용함으로써, 비선점적 멀티태스킹을 위한 서브 루틴을 일반화한 컴퓨터 프로그램 구성요소
비선점적 멀티태스킹이란?
- 비선점형 : 하나의 프로세스가 CPU를 할당받으면 종료되기 전까지 다른 프로세스가 CPU를 강제로 차지할 수 없습니다. (코루틴)
- 선점형 : 하나의 프로세스가 다른 프로세스 대신에 프로세서(CPU)를 강제로 차지할 수 있습니다. (쓰레드)
코루틴을 사용하는 이유
코루틴은 메인 쓰레드가 Blocking 되는 부분에 도움을 주며, 비동기 처리 코드를 순차적인 코드로 만들 수 있게 합니다.
1. 협력형 멀티태스킹
2. 동시성 프로그래밍 지원
3. 쉬운 비동기 처리
'CS' 카테고리의 다른 글
| 오브젝트 풀링(Object Pooling)이란 (0) | 2023.11.22 |
|---|---|
| MVC 패턴이란 (1) | 2023.11.21 |
| 드로우 콜(Draw Call) 배칭이란 (0) | 2023.11.21 |
| 유니티 렌더링 파이프라인 (1) | 2023.11.21 |
| 디자인 패턴을 사용하는 이유 (1) | 2023.11.20 |