您的位置:首页 > 其它

关于CRITICAL_SECTION、CCriticalSection和信号量的问题

2008-01-25 09:48 387 查看
CRITICAL_SECTION cs;
EnterCriticalSection(&cs);
LeaveCriticalSection(&cs);



CCriticalSection cs;
cs.Lock();
cs.UnLock();

效果和功能是否相同???

谁能给我讲一下信号量的用法,看了例子不太理解
DentistryDoctor(My heart will fly,in the sky.) 于 2005-8-31 12:32:40
CRITICAL_SECTION cs;
EnterCriticalSection(&cs);
LeaveCriticalSection(&cs);

??

还需要InitializeCriticalSection

CCriticalSection实际上是对CRITICAL_SECTION的封装而已,效果大致相关。但如果偿在MFC的工程中的话,推荐后者!
DentistryDoctor(My heart will fly,in the sky.) 于 2005-8-31 12:33:25
后者与CSingleLock配合可以很方便的实现自旋锁。
gohappy_1999(碧水蓝天) 于 2005-8-31 12:33:38
CRITICAL_SECTION cs;
使用CRITICAL_SECTION对象,先要初始化(InitializeCriticalSection(&cs),
用完后要删除(DeleteCriticalSection(&cs))。
两者效果一样
EnterCriticalSection(&cs); = cs.Lock();
LeaveCriticalSection(&cs); = cs.UnLock();
oyljerry(【勇敢的心】→ ㊣MS-My Dream√㊣) 于 2005-8-31 13:17:28
信号量可以多个线程进入锁定
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: