csyncobject.txt

来自「操作系统知识」· 文本 代码 · 共 61 行

TXT
61
字号
同步类源码
//////////////////////////////////////////////////////////////////
CSemaphore::CSemaphore(LONG lInitialCount, LONG lMaxCount,
	LPCTSTR pstrName, LPSECURITY_ATTRIBUTES lpsaAttributes)
	:  CSyncObject(pstrName)

::CreateSemaphore(lpsaAttributes, lInitialCount, lMaxCount,
		pstrName);

//////////////////////////////////////////////////////////////////
virtual BOOL CSyncObject::Lock(DWORD dwTimeout = INFINITE);

//////////////////////////////////////////////////////////////////
BOOL CSemaphore::Unlock(LONG lCount, LPLONG lpPrevCount /* =NULL */)

::ReleaseSemaphore(m_hObject, lCount, lpPrevCount);

//////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////


互斥类源码
//////////////////////////////////////////////////////////////////
CMutex::CMutex(BOOL bInitiallyOwn, LPCTSTR pstrName,
	LPSECURITY_ATTRIBUTES lpsaAttribute /* = NULL */)
	: CSyncObject(pstrName)

::CreateMutex(lpsaAttribute, bInitiallyOwn, pstrName);
///////////////////////////////////////////////////////////
virtual BOOL CSyncObject::Lock(DWORD dwTimeout = INFINITE);
////////////////////////////////////////////////////////////
BOOL CMutex::Unlock()
::ReleaseMutex(m_hObject);
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////


事件类源码
//////////////////////////////////////////////////////////////////
CEvent::CEvent(BOOL bInitiallyOwn, BOOL bManualReset, LPCTSTR pstrName,
	LPSECURITY_ATTRIBUTES lpsaAttribute)
	: CSyncObject(pstrName)
::CreateEvent(lpsaAttribute, bManualReset,
		bInitiallyOwn, pstrName);
/////////////////////////////////////////////////////////////
virtual BOOL CSyncObject::Lock(DWORD dwTimeout = INFINITE);
/////////////////////////////////////////////////////////////
BOOL CEvent::Unlock()
TRUE;
/////////////////////////////////////////////////////////////





⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?