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

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

信号量可以多个线程进入锁定
 
 
shaguamao(血痕) 于 2005-8-31 13:56:59

 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值