Udostępnij za pośrednictwem


Klasa CMultiLock

Reprezentuje mechanizmu kontroli dostępu używane do kontrolowania dostępu do zasobów w programie wielowątkowym.

class CMultiLock

Członkowie

Publiczne konstruktory

Nazwa

Opis

CMultiLock::CMultiLock

Konstrukcje CMultiLock obiektu.

Metody publiczne

Nazwa

Opis

CMultiLock::IsLocked

Określa obiekt synchronizacji określonego w tablicy jest zablokowany.

CMultiLock::Lock

Czeka na tablicę obiektów synchronizacji.

CMultiLock::Unlock

Zwalnia obiekty własnością synchronizacji.

Uwagi

CMultiLocknie ma klasy podstawowej.

Aby użyć klasy synchronizacji CSemaphore, CMutex, i CEvent, można utworzyć CMultiLock lub CSingleLock obiektu na oczekiwanie na i zwolnić obiektu synchronizacji.Użyj CMultiLock , gdy istnieje wiele obiektów, które można użyć w określonym czasie.Użyj CSingleLock tylko gdy muszą czekać na jeden obiekt na raz.

Aby użyć CMultiLock obiektów, należy najpierw utworzyć tablicę obiektów synchronizacji, które chcesz czekać.Następnie, wywoływać CMultiLock konstruktora obiektu wewnątrz funkcji składowej klasy kontrolowanych zasobów.Następnie wywołać blokady funkcji Członkowskich, jeśli zasób jest dostępny (zasygnalizowany).Jeśli jest, należy kontynuować pozostałą część funkcji składowej.Jeśli zasób nie jest dostępny, poczekaj na określony czas dla zasobu do zwolnienia lub zwraca błąd.Po zakończeniu użycie zasobu albo wywołanie Unlock działać, jeśli CMultiLock jest ponownie używane, lub pozwolić CMultiLock obiektu do zniszczenia.

CMultiLock obiekty są najbardziej przydatne, gdy wątek ma dużą liczbę CEvent obiektów można odpowiedzieć.Utworzyć tablicę zawierającą wszystkie CEvent wskaźników i wywołanie Lock.Spowoduje to wątek dopiero po jednym ze zdarzeń jest sygnalizowane.

Aby uzyskać więcej informacji na temat korzystania CMultiLock obiektów, zobacz artykuł Multithreading: jak używać klasy synchronizacji.

Hierarchii dziedziczenia

CMultiLock

Wymagania

Nagłówek: afxmt.h

Zobacz też

Informacje

Diagram hierarchii