C#/Threading2 비동기 vs 동기 개요 동기 비동기 동시성 여러 종류 음식을 하나씩 조리함. 여러 종류 음식을 동시에 조리함. 일치화 손님이 올때까지 기다리다 같이 먹음. 손님을 기다리지 않고 먹음. 동기 방식 각 함수의 실행과 완료 시점이 일치한다. 한 시점에 모든 작업이 동시에 이뤄진다. 비동기 방식: 싱글 스레딩(코루틴) using System.Collections; public class Program { public static IEnumerator A() { Console.WriteLine($"{((Thread.CurrentThread.ManagedThreadId == 1) ? "Main" : "Worker")}: Start A"); yield return null; Console.WriteLine($"{((Thread.Cur.. 2021. 9. 8. async/await 비동기 작업 async/await 비동기 작업 async/await 키워드는 멀티 스레드로 비동기 작업을 수행한다. 우선 yield return을 간단하게 살펴보자. yield return using System; using System.Collections; using System.Threading; public class Program { public static void Main() { var enumerator = DoTaskAsync(); enumerator.MoveNext(); // [Main ] Thread ID: 1 Console.WriteLine($"[Main ] Thread ID: {Thread.CurrentThread.ManagedThreadId}"); if ((int)enumerator.Curr.. 2021. 8. 4. 이전 1 다음