c#의 async는 컴파이럴에게 해당 메서드가 await를 가지고 있음을 알려주는 역할이다.
해당 메서드 내에 await키워드를 사용할수 있게 만들어 주는 건데
메서드 내에 await를 1개 이상 가질수 있는데, 하나도 없는 경우라도 컴파일은 가능하지만 Warning메세지가 표시된다.
await는 비동기 작업의 흐름을 제어하는 키워드라 할수 있다.
피연산자가 나타내는 비동기 작업이 완료될때까지 수행을 중지한다.
형식은 반드시 void , Task, Task<T>를 반환해야 된다.
void를 사용하게 되면 비동기메서드를 호출 하는 쪽에서 비동기를 제어할수 없다. 종종 이벤트 핸들러로 사용할 때
void를 사용하곤 한다고 한다.
코루틴처럼 하나의 쓰레드가 비동기적으로 작업하는게 아니라 Task를 사용하므로 여러 쓰레드를 활용한다.
예제 및 참고
728x90
반응형
'c#' 카테고리의 다른 글
튜플(Tuples) 자료형 - 튜플 형식에 대해 (0) | 2023.12.19 |
---|---|
c# 다차원 배열과 가변배열 (0) | 2023.12.15 |
Invoke 와 BeginInvoke의 차이점 (1) | 2023.12.14 |
TCP VS UDP (0) | 2023.03.08 |
객체지향 프로그래밍 (0) | 2023.03.08 |