原子锁操作(全部)

 

注:当时笔记收录有遗录,后三个函数回值都是原来的值。

volatil限定符告诉编译器不要对这个变量进行任何形式的优化,而是始终的从变量的内存中读取变量的值。
该变量可能被应用程序以外 的代码所修改,比如操作系统、硬件、或者一个并发执行的线程对其的值进行修改,就要使这个限定符。
volatil BOOL V1=NULL;
如果有的时候不给BOOL(假如)加上volatil限定,编译器可能对c++代码进行优化。这个优化中,编译器把BOOL变量的值放入寄存器中,
这个操作只需要进行一次。然后它重复对CPU寄存器的值进行测试。与每次都从变量所在内存空间中取地变量的值来说,这样有更好的性能。加上volatile限定可以确保每一个成员都是从内存地址中读取的。详细见 《windows核心编程》206页具体的解释和用法。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值