Sdílet prostřednictvím


CSyncObject – třída

Čistě virtuální třída, která poskytuje funkce společné pro synchronizační objekty v systému Win32.

Syntaxe

class CSyncObject : public CObject

Členové

Veřejné konstruktory

Název Popis
CSyncObject::CSyncObject CSyncObject Vytvoří objekt.

Veřejné metody

Název Popis
CSyncObject::Lock Získá přístup k objektu synchronizace.
CSyncObject::Unlock Získá přístup k objektu synchronizace.

Veřejné operátory

Název Popis
CSyncObject::operator HANDLE Poskytuje přístup k objektu synchronizace.

Veřejné datové členy

Název Popis
CSyncObject::m_hObject Popisovač základního objektu synchronizace.

Poznámky

Knihovna tříd Microsoft Foundation poskytuje několik tříd odvozených z CSyncObject. Jedná se o CEvent, CMutex, CCriticalSection a CSemaphore.

Informace o tom, jak používat synchronizační objekty, naleznete v článku Multithreading: Jak používat synchronizační třídy.

Hierarchie dědičnosti

Objekt CObject

CSyncObject

Požadavky

Hlavička: afxmt.h

CSyncObject::CSyncObject

Vytvoří synchronizační objekt se zadaným názvem.

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

Parametry

pstrName
Název objektu. Pokud null, pstrName bude null.

CSyncObject::Lock

Voláním této funkce získáte přístup k prostředku řízenému objektem synchronizace.

virtual BOOL Lock(DWORD dwTimeout = INFINITE);

Parametry

dwTimeout
Určuje dobu v milisekundách, po kterou bude synchronizační objekt dostupný (signalován). Pokud je NEKONEČNO, bude čekat, Lock až se objekt před návratem signalizují.

Návratová hodnota

Nenulové, pokud byla funkce úspěšná; jinak 0.

Poznámky

Pokud je objekt synchronizace signalován, Lock vrátí se úspěšně a vlákno nyní vlastní objekt. Pokud je synchronizační objekt nepřiřazený (nedostupný), bude čekat, Lock až se objekt synchronizace signalizuje až do počtu milisekund zadaných v parametru dwTimeOut . Pokud synchronizační objekt nebyl signalován v zadaném čase, Lock vrátí chybu.

CSyncObject::m_hObject

Popisovač základního objektu synchronizace.

HANDLE m_hObject;

CSyncObject::operator HANDLE

Tento operátor slouží k získání popisovače objektu CSyncObject .

operator HANDLE() const;

Návratová hodnota

V případě úspěchu popisovač objektu synchronizace; v opačném případě null.

Poznámky

Popisovač můžete použít k přímému volání rozhraní API systému Windows.

CSyncObject::Unlock

Deklarace Unlock bez parametrů je čistě virtuální funkce a musí být přepsána všemi třídami odvozenými z CSyncObject.

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

Parametry

LCount
Ve výchozím nastavení se nepoužívá implementace.

lpPrevCount
Ve výchozím nastavení se nepoužívá implementace.

Návratová hodnota

Výchozí implementace vždy vrátí hodnotu TRUE.

Poznámky

Výchozí implementace deklarace se dvěma parametry vždy vrátí hodnotu TRUE. Tato funkce se volá k uvolnění přístupu k objektu synchronizace vlastněného volajícím vláknem. Druhá deklarace je poskytována pro synchronizační objekty, jako jsou semaphores, které umožňují více než jeden přístup řízeného prostředku.

Viz také

CObject – třída
Graf hierarchie