互斥对象与关键代码段的比较
2009-04-08 11:36
281 查看
9.6.2
互斥对象与关键代码段的比较
就等待线程的调度而言,互斥对象与关键代码段之间有着相同的特性。但是它们在其他属
性方面却各不相同。表
9 - 1
对它们进行了各方面的比较。
表
9-1
互斥对象与关键代码段的比较
特性互斥对象关键代码段
//初始化代码
HANDLE hMutex = ::CreateMutex(NULL, FALSE, strMutexName);
//等待代码
WaitForSingleObject(hMutex, INFINITE);
//互斥检测代码
if ((hMutex == NULL) || (GetLastError() == ERROR_ALREADY_EXISTS))
{
bRet = FALSE;
}
*等待代码和互斥检测代码按需要选择
互斥对象与关键代码段的比较
就等待线程的调度而言,互斥对象与关键代码段之间有着相同的特性。但是它们在其他属
性方面却各不相同。表
9 - 1
对它们进行了各方面的比较。
表
9-1
互斥对象与关键代码段的比较
特性互斥对象关键代码段
运行速度 | 慢 | 快 |
是否能够跨进程边界来使用 | 是 | 否 |
声明 | HANDLE hmtx ; | CRITICAL_SECTION cs ; |
初始化 | h m t x = C r e a t e M u t e x ( N U L L , FA L S E , N U L L ); | I n i t i a l i z e C r i t i c a l S e c t i o n ( & e s ) ; |
清除 | C l o s e H a n d l e ( h m t x ); | D e l e t e C r i t i c a l S e c t i o n ( & c s ); |
无限等待 | Wa i t F o r S i n g l e O b j e c t ( h m t x , I N F I N I T E ); | E n t e r C r i t i c a l S e c t i o n ( & c s ); |
0 等待 | Wa i t F o r S i n g l e O b j e c t ( h m t x , 0 ); | Tr y E n t e r C r i t i c a l S e c t i o n ( & c s ); |
任意等待 | Wa i t F o r S i n g l e O b j e c t ( h m t x , d w M i l l i s e c o n d s ); | 不能 |
释放 | R e l e a s e M u t e x ( h m t x ); | L e a v e C r i t i c a l S e c t i o n ( & c s ); |
是否能够等待其他内核对象 | 是 (使用 Wa i t F o r M u l t i p l e O b j e c t s 或类似的函数) | 否 |
HANDLE hMutex = ::CreateMutex(NULL, FALSE, strMutexName);
//等待代码
WaitForSingleObject(hMutex, INFINITE);
//互斥检测代码
if ((hMutex == NULL) || (GetLastError() == ERROR_ALREADY_EXISTS))
{
bRet = FALSE;
}
*等待代码和互斥检测代码按需要选择
相关文章推荐
- 互斥对象、事件对象、关键代码段的应用和比较
- 互斥对象与关键代码段的比较
- 互斥对象、事件对象、关键代码段的应用和比较
- 互斥对象、事件对象与关键代码段的比较
- 互斥对象与关键代码段的比较
- C++多线程:互斥对象、事件对象与关键代码段的比较
- 互斥对象、事件对象、关键代码段的应用和比较
- 互斥对象 事件对象 关键代码段的比较
- 互斥对象、事件对象、关键代码段的应用和比较
- 多线程同步:互斥对象、事件对象、关键代码段
- 互斥对象、事件对象与关键代码段
- windows下多线程同步(利用事件对象,互斥对象,关键代码段)实现
- 多线程同步:互斥对象、事件对象、关键代码段
- 互斥对象(Mutex)、事件对象(Event) 与 关键代码段(CriticalSection) 的比较(互斥量Mutex 保证只有一个实例运行)
- Win32核心编程 读书笔记四 关键代码段与互斥对象
- VC++多线程,互斥对象,事件对象,关键代码段实现线程同步
- 互斥对象锁和临界区锁性能比较
- 互斥对象锁和临界区锁性能比较
- 互斥对象锁和临界区锁性能比较
- 多线程同步的三种方法-互斥量-事件对象-关键代码段(临界区)