[c#] C# 스레드 워크 스트림
C#에서 멀티스레딩을 구현하고 워크 스트림을 사용하는 방법을 살펴보겠습니다.
스레드(Thread)란?
스레드는 프로세스 내에서 실행 흐름을 나타내는 것으로, 한 프로세스 내에서 다른 작업을 동시에 할 수 있게 해줍니다. C#에서는 System.Threading
네임스페이스를 사용하여 스레드를 다룰 수 있습니다.
using System;
using System.Threading;
class Program
{
static void Main()
{
Thread thread = new Thread(new ThreadStart(DoWork)); // 새로운 스레드 생성
thread.Start(); // 스레드 시작
}
static void DoWork()
{
// 스레드에서 수행할 작업
}
}
워크 스트림(Work Stream)이란?
워크 스트림은 비동기 작업을 수행하기 위한 C#의 기능입니다. System.Threading.Tasks
네임스페이스를 사용하여 워크 스트림을 만들고 실행할 수 있습니다.
using System;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
// 워크 스트림 생성과 실행
await Task.Run(() => DoWork());
}
static void DoWork()
{
// 워크 스트림에서 수행할 작업
}
}
위의 코드에서 async
키워드와 await
키워드를 사용하여 비동기 작업을 선언하고 실행합니다.
C#에서는 이러한 스레드와 워크 스트림을 사용하여 멀티스레딩 및 비동기 작업을 수행할 수 있습니다.
참고 자료
- Microsoft Docs. “스레딩” (https://docs.microsoft.com/ko-kr/dotnet/standard/threading/)
- Microsoft Docs. “작업 기반 비동기 패턴(Task-based Asynchronous Pattern, TAP)” (https://docs.microsoft.com/ko-kr/dotnet/standard/async-in-depth)