Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C#의 스레드 동기화

<시간/>

동기화를 사용하여 다중 스레드 응용 프로그램의 리소스에 대한 액세스를 동기화합니다.

스레드 동기화를 위한 뮤텍스

뮤텍스를 사용하여 프로세스 간에 스레드를 동기화할 수 있습니다. 한 번에 둘 이상의 스레드에서 코드 블록을 동시에 실행하는 것을 방지하는 데 사용합니다.

C# 잠금 문은 다른 스레드의 방해 없이 코드 블록이 실행되도록 하는 데 사용됩니다. 코드 블록 기간 동안 지정된 개체에 대해 상호 배제 잠금이 획득됩니다.

잠금 문은 개체를 인수로 가져옵니다. "lock"에 주어진 매개변수는 참조 유형을 기반으로 하는 객체여야 합니다 -

public class Demo {
   private System.Object myLock = new System.Object();
   public void Process() {
      lock (myLock) {
      }
   }
}

C#의 Mutex 클래스는 프로세스 간 동기화에도 사용할 수 있는 동기화 기본 요소입니다.

새로운 뮤텍스를 만드는 방법을 살펴보겠습니다 -

private static Mutex m = new Mutex();