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 |
---|---|
Konstrukcje CMultiLock obiektu. |
Metody publiczne
Nazwa |
Opis |
---|---|
Określa obiekt synchronizacji określonego w tablicy jest zablokowany. |
|
Czeka na tablicę obiektów synchronizacji. |
|
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