1.锁住一个未被拥有的mutex,比锁住一个未被拥有的critical section需要花费几乎100被的时间。因为critical section不需要进入操作系统核心。
2.mutexs可以跨进程使用,critical section则只能够在同一进程中使用。
3.等待一个mutex时,你可以指定“结束等待”的时间长度。
4.CRITICAL_SECTION不是核心对象。
以下是两种对象的相关函数比较:
CRITICAL_SECTION Mutex核心对象
InitializeCriticalSection() CreateMutex()
OpenMutex()
EnterCriticalSection() WaitForSingleObject()
WaitForMultipleObject()
MsgWaitForMultipleObject()
LeaveCriticalSection() ReleaseMutex()
DeleteCriticalSection() CloseHandle()
2.mutexs可以跨进程使用,critical section则只能够在同一进程中使用。
3.等待一个mutex时,你可以指定“结束等待”的时间长度。
4.CRITICAL_SECTION不是核心对象。
以下是两种对象的相关函数比较:
CRITICAL_SECTION Mutex核心对象
InitializeCriticalSection() CreateMutex()
OpenMutex()
EnterCriticalSection() WaitForSingleObject()
WaitForMultipleObject()
MsgWaitForMultipleObject()
LeaveCriticalSection() ReleaseMutex()
DeleteCriticalSection() CloseHandle()