728x90


유니티에서 비동기? 처럼 프로그래밍을 하는 대표적인 방법으로는 코루틴을 이용한 방식이라고 생각하고 있다.

굳이 단점이라면 예외처리가 안되고, 값 리턴이 불가능 하다는것


Async와, Await를 이용함으로써 비동기 프로그래밍을 작성할때

예외처리가 가능하고, 값 리턴이 가능하다는것


하지만 유니티로 개발을 하면서 과연 Async, Await 등을 이용하여 비동기 프로그래밍을 작성할 상황이

얼마나 많을까? 하는 의문이 들기는 하다.


monobehaviour를 상속받지 않는 클래스에서 비동기 방식이 필요하다면 사용 해볼법도 한 것 같다.


1. 코루틴

private IEnumerator WaitOneSecond()

{

        yield return new WaitForSeconds(1.0f);

        Debug.Log("Finished waiting.");

}


2. Async, Await

private async Task WaitOneSecondAsync()

{

        await Task.Delay(TimeSpan.FromSeconds(1));

        Debug.Log("Finished waiting.");

}


쓰임새는 다르지만 기능은 1초를 기다린후 로그를 출력하는 동일한 방식


C# 버전이 올라가면서 제공되는 비동기 프로그래밍의 기본 방법이 추가 된 것일 뿐

둘중에 어떤 것이 더 좋다라고 하기 보단, 상황에 따라 활용할 수 있는 방법이 추가 된 걸로 받아들였다.


728x90
Posted by 정망스
,


맨 위로
홈으로 ▲위로 ▼아래로 ♥댓글쓰기 새로고침