CSingleLock-Klasse
Stellt den Mechanismus zur Zugriffssteuerung dar, mit dessen Hilfe der Zugriff auf Ressourcen in einem Multithreadprogramm gesteuert wird.
class CSingleLock
Mitglieder
Öffentliche Konstruktoren
Name |
Description |
---|---|
Erstellt ein CSingleLock-Objekt. |
Öffentliche Methoden
Name |
Description |
---|---|
Bestimmt, ob das Objekt gesperrt ist. |
|
wartet auf einem Synchronisierungsobjekt. |
|
Gibt ein Synchronisierungsobjekt frei. |
Hinweise
CSingleLock hat keine Basisklasse.
Um die Synchronisierungsklassen CSemaphore zu verwenden, CMutex, CCriticalSection und CEvent, müssen Sie entweder CSingleLock oder CMultiLock-Objekt von Wait an erstellen und das Synchronisierungsobjekt freigeben. Verwenden Sie CSingleLock, wenn Sie nur auf ein Objekt gleichzeitig warten müssen. Verwenden Sie CMultiLock , wenn mehrere Objekte gibt, die Sie zu einem bestimmten Zeitpunkt verwenden können.
Um ein CSingleLock-Objekt zu verwenden, rufen Sie ihren Konstruktor innerhalb einer Memberfunktion in der gesteuerten Klasse der Ressource auf. Rufen Sie dann die IsLocked-Memberfunktion auf, um zu bestimmen, ob die Ressource verfügbar ist. Wenn ja, fahren Sie mit dem Rest der Memberfunktion fort. Wenn die Ressource, entweder nicht verfügbar ist, warten Sie auf eine bestimmte Zeit, damit die Ressource freigegeben werden kann, oder geben Sie Fehler zurück. Nachgebrauch der Ressource ist, jeder Aufruf die Entsperren Sie-Funktion, wenn das CSingleLock-Objekt erneut verwendet werden soll, oder ermöglicht das zerstört werden CSingleLock vollständig Objekt.
CSingleLock-Objekte benötigen das Vorhandensein eines Objekts, das von CSyncObject abgeleitet wird. Dies ist normalerweise ein Datenmember der gesteuerten Klasse der Ressource. Weitere Informationen dazu, wie CSingleLock-Objekte, finden Sie im Artikel Multithreading: Erstellen der Synchronisierungsklassen verwendet.
Vererbungshierarchie
CSingleLock
Anforderungen
Header: afxmt.h