Windows多线程-Critical Section(关键区域,临界区域)用法及实例

Critical Sections(关键区域、临界区域):

在windows多线程中遇到某一资源(内存)被多个线程同时操作的情况怎么办?

在Win32 程序中你可以为每一个需要保护的资源声明一个CRITICAL_SECTION 类型的变量。这个变量扮演红绿灯的角色,让同一时间内只有一个线程进criticalsection。
保护过程分为四步:

第一步:
声明一个CRITICAL_SECTION类型的变量

CRITICAL_SECTION cs;

第二步:
将CRITICAL_SECTION 的局部变量初始化,方法是调用

InitializeCriticalSection();

InitializeCriticalSection(&cs);

第三步:
当线程准备好要离开critical section时,它必须调用
LeaveCriticalSection();

LeaveCriticalSection(&cs);

第四步:
当你用毕critical section时,你必须调用**
DeleteCriticalSection(); 清除它

DeleteCriticalSection(&cs);
<
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值