多线程编程同步机制之临界区编程实例

临界区的基本概念

临界区:在同一个进程内的多个线程之间通过原子方式实现共享资源的串行化读写

临界区相关函数

CRITICAL_SECTION cs;
::InitializeCriticalSection(&cs);
::EnterCriticalSection(&cs);
::LeaveCriticalSection(&cs);
::DeleteCriticalSection(&cs);

临界区编程实例

实例一:临界区基本使用方法

输出结果(注掉13,17,没有进行临界区同步):

输出结果(临界区同步):

image

实例二:使用临界区对象创建自动锁

image

CriticalSection:封装 Windows CRICITAL_SECTION 用户对象
AutoLock:封装CriticalSection的操作,让它进入一个Scope的时候自动加锁,离开一个Scope的时候自动解锁
使用方式:

image

转载于:https://www.cnblogs.com/wyinan/archive/2011/11/01/2231334.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值