* 비동기 함수(Asynchronous Function)
작업이 완료될 때까지 기다리지 않고, 그 사이에 다른 작업을 계속 진행할 수 있도록 만들어진 함수
[과연 언제 필요할까?]
결과를 기다릴 필요 없는 백업 작업에서 특히 유용하다
1. 비동기 로그 저장
2. 주기적인 백업
3. 분석 이벤트 트래킹 전송
4. 불필요한 알림 전송
5. 통계 서버 전송
* 코루틴(Coroutine)과의 관계
코루틴은 논리적인 비동기이고 비동기 함수는 물리적인 비동기이다
[그게 뭔데?]
비동기 함수는 진짜 따로 처리
ㄴ OS나 .NET이 별도의 스레드(Thread)나 작업(Task)으로 처리 → OS 수준 비동기
코루틴은 하나의 스레드 안에서 실행 흐름을 나눠 순차적으로 처리하여 비동기처럼 보이게 만듦
ㄴ 유니티에서는 프레임 단위
ㄴ C# 기본 IEnumerator는 MoveNext() 호출 단위
ㄴ 흐름을 나누는 단위 yield return
정리하면
코루틴은 실행 흐름을 나눠 비동기처럼 보이게 하는 도구이고,
비동기 함수는 OS나 런타임 수준에서 실제로 따로 처리되는 진짜 비동기다
'IT공부' 카테고리의 다른 글
| [C#] .NET 9 Random 클래스 살펴보기 (0) | 2025.06.18 |
|---|---|
| [C#] .NET 9 decimal 구조체 톺아보기 (0) | 2025.06.16 |
| [Unity] 왜 .cs 파일을 스크립트 파일이라고 부를까? 그리고 인터프리터 언어인가? (0) | 2025.04.27 |
| [C#] 추상 클래스와 인터페이스의 차이 (0) | 2025.04.14 |
| [C#] 오버라이딩 정리 (0) | 2025.04.11 |