Megosztás a következőn keresztül:


CSyncObject osztály

Megjegyzés:

A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.

Egy tiszta virtuális osztály, amely a Win32 szinkronizálási objektumainak általános funkcióit biztosítja.

Szemantika

class CSyncObject : public CObject

Tagok

Nyilvános konstruktorok

Név Description
CSyncObject::CSyncObject Egy CSyncObject objektumot hoz létre.

Nyilvános metódusok

Név Description
CSyncObject::Lock Hozzáférést kap a szinkronizálási objektumhoz.
CSyncObject::Unlock Hozzáférést kap a szinkronizálási objektumhoz.

Nyilvános operátorok

Név Description
CSyncObject::operator HANDLE Hozzáférést biztosít a szinkronizálási objektumhoz.

Nyilvános adatok tagjai

Név Description
CSyncObject::m_hObject A mögöttes szinkronizálási objektum leírója.

Megjegyzések

A Microsoft Foundation osztálykönyvtára több osztályt CSyncObjectis biztosít. Ezek a CEvent, a CMutex, a CCriticalSection és a CSemaphore.

A szinkronizálási objektumok használatáról további információt a Többszálúság: A szinkronizálási osztályok használata című cikkben talál.

Öröklési hierarchia

CObject

CSyncObject

Requirements

Fejléc: afxmt.h

CSyncObject::CSyncObject

A megadott névvel rendelkező szinkronizálási objektumot hoz létre.

explicit CSyncObject(LPCTSTR pstrName);
virtual ~CSyncObject();

Paraméterek

pstrName
Az objektum neve. Ha NULL, akkor a pstrName értéke null lesz.

CSyncObject::Lock

Hívja meg ezt a függvényt, hogy hozzáférjen a szinkronizálási objektum által vezérelt erőforráshoz.

virtual BOOL Lock(DWORD dwTimeout = INFINITE);

Paraméterek

dwTimeout
Ezredmásodpercben megadja a szinkronizálási objektum rendelkezésre állásának (jelzésének) időtartamát. Ha VÉGTELEN, Lock a visszatérés előtt megvárja, amíg az objektum jelzése meg nem jelenik.

Visszaadott érték

Nonzero, ha a függvény sikeres volt; egyéb esetben 0.

Megjegyzések

Ha a szinkronizálási objektum jelzést kap, sikeresen visszatér, Lock és a szál most már az objektum tulajdonosa. Ha a szinkronizálási objektum nincs aláírva (nem érhető el), Lock megvárja, amíg a szinkronizálási objektum a dwTimeOut paraméterben megadott ezredmásodpercig lesz jelezve. Ha a szinkronizálási objektum nem lett jelezve a megadott idő alatt, Lock hibát ad vissza.

CSyncObject::m_hObject

A mögöttes szinkronizálási objektum leírója.

HANDLE m_hObject;

CSyncObject::operator HANDLE

Ezzel az operátorral lekérheti az objektum fogópontját CSyncObject .

operator HANDLE() const;

Visszaadott érték

Ha sikeres, a szinkronizálási objektum kezelője; ellenkező esetben NULL.

Megjegyzések

A leíróval közvetlenül meghívhatja a Windows API-kat.

CSyncObject::Unlock

A paraméterek nélküli deklaráció Unlock egy tiszta virtuális függvény, amelyet felül kell bírálni az összes, a forrásból származó osztálynak CSyncObject.

virtual BOOL Unlock() = 0; virtual BOOL Unlock(
    LONG lCount,
    LPLONG lpPrevCount = NULL);

Paraméterek

lCount
Az alapértelmezett implementáció nem használja.

lpPrevCount
Az alapértelmezett implementáció nem használja.

Visszaadott érték

Az alapértelmezett implementáció mindig IGAZ értéket ad vissza.

Megjegyzések

A két paraméterrel rendelkező deklaráció alapértelmezett implementációja mindig IGAZ értéket ad vissza. Ez a függvény a hívószál tulajdonában lévő szinkronizálási objektumhoz való hozzáférés felszabadítására van meghívva. A második deklaráció olyan szinkronizálási objektumokhoz van megadva, mint a szemaphorok, amelyek egynél több szabályozott erőforrás elérését teszik lehetővé.

Lásd még

CObject osztály
hierarchiadiagram