optex.h
来自「ftpserver very good sample」· C头文件 代码 · 共 59 行
H
59 行
/******************************************************************************Module name: Optex.hWritten by: Jeffrey RichterPurpose: Defines the COptex (optimized mutex) synchronization object******************************************************************************/#pragma once///////////////////////////////////////////////////////////////////////////////class COptex {public: COptex(LPCSTR pszName, DWORD dwSpinCount = 4000); COptex(LPCWSTR pszName, DWORD dwSpinCount = 4000); ~COptex(); void SetSpinCount(DWORD dwSpinCount); void Enter(); BOOL TryEnter(); void Leave();private: typedef struct { DWORD m_dwSpinCount; long m_lLockCount; DWORD m_dwThreadId; long m_lRecurseCount; } SHAREDINFO, *PSHAREDINFO; BOOL m_fUniprocessorHost; HANDLE m_hevt; HANDLE m_hfm; PSHAREDINFO m_pSharedInfo;private: BOOL CommonConstructor(PVOID pszName, BOOL fUnicode, DWORD dwSpinCount);};///////////////////////////////////////////////////////////////////////////////inline COptex::COptex(LPCSTR pszName, DWORD dwSpinCount) { CommonConstructor((PVOID) pszName, FALSE, dwSpinCount);}///////////////////////////////////////////////////////////////////////////////inline COptex::COptex(LPCWSTR pszName, DWORD dwSpinCount) { CommonConstructor((PVOID) pszName, TRUE, dwSpinCount);}///////////////////////////////// End of File /////////////////////////////////
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?