동기화를 사용하여 다중 스레드 응용 프로그램의 리소스에 대한 액세스를 동기화할 수 있습니다.
뮤텍스를 사용하여 프로세스 간에 스레드를 동기화할 수 있습니다. 한 번에 둘 이상의 스레드에서 코드 블록을 동시에 실행하는 것을 방지하는 데 사용합니다.
C# 잠금 문은 다른 스레드의 방해 없이 코드 블록이 실행되도록 하는 데 사용됩니다. 코드 블록 기간 동안 지정된 개체에 대해 상호 배제 잠금이 획득됩니다.
C#의 스레드 풀은 스레드 모음입니다. 백그라운드에서 작업을 수행하는 데 사용됩니다. 스레드가 작업을 완료하면 대기 중인 모든 스레드가 있는 큐로 전송됩니다. 이는 재사용할 수 있도록 하기 위한 것입니다.
스레드 풀을 만드는 방법을 살펴보겠습니다.
먼저 다음 네임스페이스를 사용하십시오 -
using System.Threading;
이제 스레드 풀 객체를 사용하여 스레드 풀 클래스를 호출하십시오. QueueUserWorkItem 메서드를 호출합니다.
ThreadPool.QueueUserWorkItem(new WaitCallback(Run));
C#의 Mutex 클래스는 프로세스 간 동기화에도 사용할 수 있는 동기화 기본 요소입니다.
새로운 뮤텍스를 만드는 방법을 살펴보겠습니다 -
private static Mutex m = new Mutex();