[c#] C# 스레드 기본
C#은 멀티스레딩을 지원하여 병렬로 작업을 처리할 수 있습니다. 스레드를 통해 동시에 여러 작업을 수행하거나 백그라운드에서 작업을 처리할 수 있습니다.
스레드 생성
C#에서는 System.Threading
네임스페이스를 사용하여 스레드를 생성합니다. 아래는 기본적인 스레드 생성 방법입니다.
using System;
using System.Threading;
class Program
{
static void Main()
{
Thread myThread = new Thread(MyThreadMethod);
myThread.Start();
}
static void MyThreadMethod()
{
// 스레드에서 수행할 작업
}
}
스레드 종료
스레드는 작업이 완료되면 종료되어야 합니다. 스레드를 종료하는 방법에는 명시적으로 종료하는 방법과 스레드 메서드가 완료될 때까지 대기하는 방법이 있습니다.
명시적으로 종료
myThread.Abort();
스레드 메서드가 완료될 때까지 대기
myThread.Join();
스레드 동기화
여러 스레드가 공유자원에 접근할 때 동시에 접근하는 것을 방지하기 위해 스레드 동기화가 필요합니다. lock
키워드를 사용하여 동기화를 구현할 수 있습니다.
class Program
{
static readonly object _lock = new object();
static void MyThreadMethod()
{
lock (_lock)
{
// 공유자원에 대한 작업 수행
}
}
}
C#의 스레딩에 대해 간단히 살펴보았습니다. 멀티스레딩을 사용하여 병렬 작업을 처리하거나 백그라운드 작업을 효율적으로 처리할 수 있습니다.
참고 자료:
- Microsoft Docs. “스레딩 기본 - C#” - https://docs.microsoft.com/ko/dotnet/csharp/programming-guide/concepts/threading/
이상입니다. 감사합니다.