[C# 유니티] 코루틴

윤재학·2022년 6월 22일

Co routine : 협력하는 루틴.

  • 유니티에서 자주 사용하는 이유는 유니티가 싱글스레드를 권장하는 엔진이기 떄문이다.

  • 코루틴이란 어떠한 시간이나 조건식이 만족하기 전까지는 멈춰있다가 만족할 경우 기억하고 있던 이전의 작업들을 이어서 하는 함수입니다.

  • 여러 개의 루틴이 동시에 실행되며 서로 제어를 넘겨주는 방식.

Q 코루틴과 인보크의 차이

  • 코루틴
    • GameObject의 Active가 off가 된다면 이미 실행 중이었던 코루틴은 정지
    • 다른 파라미터를 전달할 수 있다.
  • 인보크
    • GameObject의 Active가 off 상태에서도 호출된다.
    • GameObject의 Active가 off 상태에서도 호출된다.
    • 지연시간 이외의 파라미터를 전달할 수 없다.

Q 서브 루틴과의 차이

  • 코루틴은 주종 관계를 가지지 않는 협력 관계다.
  • 매 호출마다 초기화되는 서브 루틴과는 달리 호출 시 관련된 모든 정보를 보존하기 때문에 이전에 실행했던 다음부터 실행할 수 있다.
  • Entry Point(입구)가 하나만 있는 서부 루틴과 달리 여러 개의 Entry Point를 허용한다.
profile
노력하자 즐겁게 개발할수 있는 환경을 위해

0개의 댓글