Unity

스레드 사용시 메인스레드 관련 오류발생 수정 (WPF의 dispatcher)

Dean83 2022. 3. 24. 23:18

SynchronizationContext를 통해 메인스레드 부분에서 동작하는 UI 항목들 접근 해야한다. 

 

    SynchronizationContext m_Context;를 맴버변수로 선언하고, 

 

스크립트 시작시, (예 : Start 함수 등)

        m_Context = SynchronizationContext.Current; 로 배정,

 

실제 사용시에는 

 m_Context.Post(delegate
        {
            할일
        },null);

 

이렇게 사용한다. null 부분은 전달할 인자값이 있는경우이며, 

 

delegate와 null을 수정하여 인자값 전달이 가능하다.