Coroutine과 Invoke

최장범·2023년 10월 26일

공부

목록 보기
4/24

Coroutine (코루틴)

  • 여러개의 루틴이 동시에 실행되게 해줌

  • 유니티는 멀티쓰레드가 아닌데 인것 처럼 보여 병렬적인 구조를 만드는 기능

  • Yield return을 해줌
    - 현재 위치를 기억하고 다른 루틴에게 수행권한을 넘겨주고 다시와서 처리하는 방식

    • 메서드 자체를 받아가는 것
  • GameObject가 활성화 일때만 동작함

  • 특정 간격을 가지고 실행되고, 실행중에 일시 중지, 다시시작이 가능

  • 사용예시

  • 이런식으로 게임의 시작전 카운트 다운을 만드는데 사용했다.


Invoke (인보크)

  • 함수를 대신 실행시켜줌
  • 지연시간 뒤에 함수를 동작하게 할 수 있다.
  • Reflection 을 통해 값을 가져옮
  • GameObject가 비활성화 되더라도 동작함
  • 특정 함수를 실행할때 딜레이를 주어야 하는 경우에 유용

차이점

/동작값을 가져오는 방식주요 사용처
코루틴GameObject가 활성화 되있을때만메서드 자체를 가져옮일시중지 및 재개가 가능, 복잡한 작업을 관리하는데 적합
인보크GameObject가 비활성화 되더라도Reflection을 통해 가져옮지연작업이나, 반복적 호출이 필요할때 적합

0개의 댓글