Monitor.PulseAll(Object) Yöntem

Tanım

Nesnenin durumundaki bir değişikliği tüm bekleyen iş parçacıklarına bildirir.

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)

Parametreler

obj
Object

Nabzı gönderen nesne.

Özel durumlar

obj parametresi null'dir.

Çağıran iş parçacığı belirtilen nesnenin kilidine sahip değil.

Açıklamalar

Şu anda belirtilen nesnedeki kilidin sahibi olan iş parçacığı, nesnedeki kilidi almak için bekleyen tüm iş parçacıklarına sinyal vermek için bu yöntemi çağırır. Sinyal gönderildikten sonra bekleyen iş parçacıkları hazır kuyruğa taşınır. Çağıran PulseAll iş parçacığı kilidi serbest bıraktığında, hazır kuyruktaki bir sonraki iş parçacığı kilidi alır.

Eşitlenmiş bir nesnenin, kilit tutan iş parçacığına başvuru, kilidi almaya hazır iş parçacıklarını içeren hazır kuyruğa başvuru ve nesnenin durumunda bir değişiklik bildirimi bekleyen iş parçacıklarını içeren bekleme kuyruğu başvurusu gibi çeşitli başvuruları içerdiğini unutmayın.

Pulse, PulseAllve Wait yöntemleri eşitlenmiş bir kod bloğu içinden çağrılmalıdır.

Pulse yöntemi için yapılan açıklamalar, eğer bekleyen bir iş parçacığı yokken Pulse çağrılırsa ne olacağını açıklar.

Tek bir iş parçacığına sinyal vermek için yöntemini kullanın Pulse .

Şunlara uygulanır

Ayrıca bkz.