다음을 통해 공유


Monitor.PulseAll(Object) 메서드

정의

대기 중인 모든 스레드에 개체 상태 변경을 알립니다.

public:
 static void PulseAll(System::Object ^ obj);
public static void PulseAll (object obj);
static member PulseAll : obj -> unit
Public Shared Sub PulseAll (obj As Object)

매개 변수

obj
Object

펄스를 보내는 개체입니다.

예외

obj 매개 변수가 null인 경우

호출한 스레드가 지정된 개체 잠금을 소유하지 않는 경우

설명

현재 지정된 개체의 잠금을 소유하고 있는 스레드는 이 메서드를 호출하여 개체의 잠금을 획득하기 위해 대기 중인 모든 스레드에 신호를 표시합니다. 신호가 전송되면 대기 중인 스레드가 준비 큐로 이동됩니다. 호출된 PulseAll 스레드가 잠금을 해제하면 준비 큐의 다음 스레드가 잠금을 획득합니다.

동기화된 개체에는 현재 잠금이 있는 스레드에 대한 참조, 잠금을 가져올 준비가 된 스레드가 포함된 준비 큐에 대한 참조, 개체 상태 변경 알림을 기다리는 스레드가 포함된 대기 중인 큐에 대한 참조 등 여러 참조가 있습니다.

Pulse동기화된 코드 블록 내에서 메서드 PulseAllWait 를 호출해야 합니다.

메서드에 Pulse 대한 설명은 대기 중인 스레드가 없을 때 호출되는 경우 Pulse 발생하는 작업에 대해 설명합니다.

단일 스레드에 신호를 표시하려면 이 메서드를 Pulse 사용합니다.

적용 대상

추가 정보