코루틴
-
[기술 면접 공부] C# 코루틴 (Coroutine)기술 면접 공부 2021. 1. 7. 14:54
정의 호출 루틴과 피호출 루틴이 대등 관계를 유지하는 처리 절차로 피호출 루틴의 수행이 완전히 끝나기 전에 호출 루틴으로 제어가 돌아가고 제어가 다시 피호출 루틴으로 돌아왔을 때는 중단된 부분부터 수행된다. 사용하는 이유 게임 프로그래밍은 수많은 오브젝트들의 상호 작용으로 표현되기 때문에 동시성을 표현하는 것이 중요하다. 유니티는 .NET을 사용함에도 불구하고 단일 스레드로 동작한다. 그 이유는 멀티 스레드 프로그래밍은 버그 발생률이 높아지고 스레드 간 교착 상태 경합 등 신경 써야 할 부분이 많아지기 때문이다. 따라서 깔끔하게 단일 스레드만 사용하되 동시성을 확보하기 위해 코루틴을 이용해 여러 개의 스레드가 동시에 동작하는 효과를 보여준다. 장점 싱글 스레드를 유지하면서 멀티 스레드처럼 동시성을 확보할..