Udostępnij za pośrednictwem


Context::Unblock — Metoda

Odblokowuje kontekstu i powoduje ona stać się sprawne.

virtual void Unblock() =0;

Uwagi

Dopuszczalne jest idealnie wywołanie Unblock przed odpowiedniego wywołania metody Blok metody.Tak długo, jak wywołania Block i Unblock metody są poprawnie skojarzone, środowiska wykonawczego poprawnie obsługuje naturalnych wyścigu albo zamawiania.Unblock Wywołania pochodzące przed Block wywołania po prostu Negacja efekt Block wywołania.

Istnieje kilka wyjątków, które może zostać wygenerowany z tej metody.Jeśli kontekst próby wywołania Unblock , Metoda context_self_unblock wygeneruje wyjątek.Jeśli wzywa do Block i Unblock nie są poprawnie skojarzone (na przykład, dwa wzywa do Unblock na kontekst, który jest aktualnie uruchomiony), context_unblock_unbalanced wygeneruje wyjątek.

Należy pamiętać, że jest krytyczny okres między punktem, w którym kod publikuje jego kontekst dla innego wątku móc wywoływać Unblock metody i punktu, gdzie wywołanie metody rzeczywistej Block jest dokonywane.W tym okresie nie musisz wywołać dowolną metodę, która z kolei może blokować i odblokowywać dla powody (na przykład pobieranie blokady).Wzywa do Block i Unblock metody nie Śledź powód zablokowania i odblokowania.Tylko jeden obiekt powinien mieć prawo własności Block i Unblock para.

Wymagania

Nagłówek: concrt.h

Obszar nazw: współbieżności

Zobacz też

Informacje

Context — Klasa

Context::Block — Metoda

Koncepcje

Harmonogram zadań (współbieżność środowiska wykonawczego)