본문 바로가기
공부

코루틴 ( Coroutine )

by 1ronside 2020. 9. 1.

C#의 코루틴을 알아보자.

 

1. 코루틴이란 ?

 

2. 코루틴을 왜 사용하는가 ?

 


 

1. 코루틴이란 ?

 

서브루틴과 비슷한 개념이지만 서브루틴은 'return' 구문에 의해서 종료되는데,

 

반면 코루틴은 'yield return' 구문을 만나면 코루틴을 호출한 메인 루틴에게 다시 제어권을 넘기고 일단 멈춘다.

 

그러고나서 제어권이 다시 돌아오게 되면 남은 작업을 실행한다.

 

메인루틴과 상호작용을 하기 때문에 'Coroutine'의 'Co'는 'Cooperate'를 의미한다고 생각한다.

 


 

2. 코루틴을 왜 사용하는가 ?

 

우리가 함수에서 수행되는 작업은 하나의 프레임에서 수행된다.

 

그렇기에 애니메이션이나 시간의 흐름에 따른 이벤트를 표현하기 어려운 문제점이 있다.

 

따라서 하나가 아닌 프레임을 이용해서 시간의 흐름에 따른 이벤트를 표현하기 위함이라고 생각한다.

 

 

 # Update문은 CPU성능에 영향을 받으나 

 # 코루틴은 받지 않는다고 하고

 # 코루틴이 10 ~ 20배 빠르다고 한다네.

)

 

 


# 참조

 

https://docs.unity3d.com/kr/530/Manual/Coroutines.html

 

유니티 - 매뉴얼: 코루틴(Coroutine)

게임 오브젝트 생성 및 삭제 특수 폴더와 스크립트 컴파일 순서 코루틴(Coroutine) 함수를 호출하면 반환값을 반환하기 전에 실행 완료됩니다. 즉, 함수에서 수행되는 작업은 하나의 프레임에서 수

docs.unity3d.com

https://m.blog.naver.com/PostView.nhn?blogId=pxkey&logNo=221296053953&proxyReferer=https:%2F%2Fwww.google.com%2F

 

유니티 코루틴(Coroutine)과 서브 루틴

안녕하세요. 창작자 픽케입니다.​우리가 어떤 작업을 처리하기 위해 필요한 함수(Function)를 호출하면, ...

blog.naver.com

 

 

 

 

 

 

# 본 글은 작자가 어떠한 개념을 본인의 것으로 만들기 위해 주관적인 해석과 견해가 있음을 알립니다.

 

 

'공부' 카테고리의 다른 글

[스위프트] 스위프트란 ? ( 스위프트 기초 문법 1)  (0) 2020.09.11
[Spring] 스프링 버전 확인  (1) 2020.09.06
Spring 09.05  (0) 2020.09.06
윈도우환경에서 스위프트 처음 시작해보기  (0) 2020.09.02
C# Form 생성  (0) 2020.07.09

댓글