중요한 C# 주제

C#의 async와 await를 이용한 비동기 프로그래밍

이 레슨에서는 async와 await로 프로그램을 막지 않고 작업을 기다리는 비동기 코드를 작성합니다.

소개

파일 읽기, API 호출, 타이머처럼 시간이 걸리는 작업을 기다려야 할 때, 비동기(asynchronous) 프로그래밍을 쓰면 기다리는 동안 스레드를 막지 않습니다. C#은 async와 await 키워드를 제공해 비동기 코드를 일반 순차 코드만큼 읽기 쉽게 만들어 줍니다.

Main 메서드는 static async Task로 선언합니다. await Task.Delay(20) 문은 현재 스레드를 막지 않고 메서드를 20밀리초 동안 멈춥니다. 기다림이 끝나면 메서드는 정확히 그 자리에서 다시 시작해 Async work complete를 출력합니다.

실행 가능한 C# 예제

C#
코드 실행 →
Program.cs
using System;
using System.Threading.Tasks;

class Program
{
    static async Task Main()
    {
        await Task.Delay(20);
        Console.WriteLine("Async work complete");
    }
}
실행 결과
Async work complete

디버거로 연습하기

중요한 대입이나 조건에 중단점을 두고 Debug를 눌러 다음 줄로 넘어가기 전에 지역 변수 값을 확인하세요.

챌린지로 연습하기

이 레슨에서 배운 내용으로 실제 문제를 풀어 보세요. 모든 챌린지는 브라우저에서 실행되며 즉시 테스트와 AI 리뷰를 받을 수 있습니다.

모든 챌린지