Monitor.PulseAll(Object) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Nesnenin durumundaki bir değişikliğin tüm bekleyen iş parçacıklarını 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
Darbeyi gönderen nesne.
Özel durumlar
obj
parametresidirnull
.
Çağıran iş parçacığı belirtilen nesnenin kilidine sahip değil.
Açıklamalar
Şu anda belirtilen nesnedeki kilidin sahibi olan iş parçacığı, nesne üzerindeki 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 sıradaki bir sonraki iş parçacığı kilidi alır.
Eşitlenmiş bir nesnenin, kilidi tutan iş parçacığına başvuru, kilidi almak için hazır olan iş parçacıklarını içeren hazır kuyruğa başvuru ve nesnenin durumundaki bir değişikliğin bildirilmesi için bekleyen iş parçacıklarını içeren bekleme kuyruğuna başvuru gibi çeşitli başvuruları barındırdığını unutmayın.
Pulse, PulseAll
ve Wait yöntemleri eşitlenmiş bir kod bloğu içinden çağrılmalıdır.
yöntemine yönelik Pulse açıklamalar, bekleyen bir iş parçacığı olmadığında çağrılırsa Pulse ne olacağını açıklar.
Tek bir iş parçacığına sinyal vermek için yöntemini kullanın Pulse
.