Monitor.PulseAll(Object) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
대기 중인 모든 스레드에 개체의 상태 변경에 대해 알 수 있습니다.
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, PulseAll, Wait 메서드는 동기화된 블록 내에서 호출되어야 합니다.
메서드 Pulse 에 대한 주석은 대기 중인 스레드가 없을 때 Pulse이 호출될 경우에 발생하는 일을 설명합니다.
단일 스레드에 신호를 표시하려면 이 메서드를 Pulse 사용합니다.