win32API之InterlockedExchangeAdd

来源:互联网 发布:淘宝卖家发货后消失 编辑:程序博客网 时间:2024/05/06 12:54
InterlockedExchangeAdd()函数是解决互斥的一个简单方法,与信号量,互斥作用相当。

原型如下:

[cpp] view plaincopyprint?
  1. LONG InterlockedExchangeAdd(PLONG Addend, LONG Value);  

该函数可实现对一个long型变量的相加操作。

第一个参数 是传入的一个长整形变量
第二个参数 是每次操作递增的量值

 

例子:

[cpp] view plaincopyprint?
  1. long g_iData = 0;       // 全局变量  
  2.   
  3. // 线程体   
  4. unsigned int __stdcall ThreadFunc(void* param)  
  5. {  
  6.     InterlockedExchangeAdd(&g_iData, 2);  
  7.     return 0;  
  8. }  


执行完 InterlockedExchangeAdd 

g_iData 增加2

原创粉丝点击