유니티에서 자주 사용하는 이유는 유니티가 싱글스레드를 권장하는 엔진이기 떄문이다.
코루틴이란 어떠한 시간이나 조건식이 만족하기 전까지는 멈춰있다가 만족할 경우 기억하고 있던 이전의 작업들을 이어서 하는 함수입니다.
여러 개의 루틴이 동시에 실행되며 서로 제어를 넘겨주는 방식.
Q 코루틴과 인보크의 차이
- 코루틴
- GameObject의 Active가 off가 된다면 이미 실행 중이었던 코루틴은 정지
- 다른 파라미터를 전달할 수 있다.
- 인보크
- GameObject의 Active가 off 상태에서도 호출된다.
- GameObject의 Active가 off 상태에서도 호출된다.
- 지연시간 이외의 파라미터를 전달할 수 없다.
Q 서브 루틴과의 차이
- 코루틴은 주종 관계를 가지지 않는 협력 관계다.
- 매 호출마다 초기화되는 서브 루틴과는 달리 호출 시 관련된 모든 정보를 보존하기 때문에 이전에 실행했던 다음부터 실행할 수 있다.
- Entry Point(입구)가 하나만 있는 서부 루틴과 달리 여러 개의 Entry Point를 허용한다.