Basic Byte Bites

C#의 async와 await 키워드 본문

C#

C#의 async와 await 키워드

MKJo 2024. 3. 27. 14:16

async/await 키워드는 비동기 함수라고도 불리며, Task의 장점을 살려 개발자가 좀 더 쉽게 비동기 작업을 수행할 수 있게 하고자 탄생

async/await은 Kotlin의 코루틴처럼 하나의 쓰레드가 비동기적으로 작업을 하는게 아니라 여러 쓰레드를 활용함 (Task를 쓰기때문)

 

Kotlin의 Coroutine

 

 

 

static async Task Main(string[] args)
{    
    // async/await Method
    var taskA = TaskA(); // DELAY 2000
    var taskB = TaskB(); // DELAY 1000
    var taskC = TaskC(); // DELAY 500
    
    await Task.WhenAll(taskA, taskB, taskC);
    Console.WriteLine("Work DONE");
}

C#의 async/await

 

작업완료 순서: C -> B -> A

await 키워드가 없다면 각 메소드를 호출 후 즉시 앱이 종료되었을것. 

 

'C#' 카테고리의 다른 글

C#의 참조타입과 C++ 포인터의 차이  (0) 2024.04.18