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
'C#' 카테고리의 다른 글
C# - 함수형 프로그래밍, 지연 - 캐시 기법 (0) | 2021.07.23 |
---|---|
C# - 함수형 프로그래밍, 재귀 호출 (0) | 2021.07.23 |
C# - 함수형 프로그래밍, LINQ (0) | 2021.07.23 |
C# - 함수형 프로그래밍 확장 메서드 (0) | 2021.07.23 |
C# - 무명메서드 람다식 (0) | 2021.07.23 |