多线程原子操作的简单示例
2016-01-11 01:20
330 查看
多线程的原子操作快于互斥量和临界区,用一个简单的示例演示其用法
运行结果:5000000
#include <iostream> #include <windows.h> using namespace std; int num = 0 ; DWORD WINAPI run(void *p) { for (int i = 0 ; i < 100000 ; i++) { InterlockedIncrement((unsigned int*)&num) ;//自增 } return 0 ; } void main() { HANDLE hd[50] ; for (int i = 0 ; i < 50 ; i++) { hd[i] = CreateThread(NULL , 0 , run , NULL , 0 , NULL) ; } WaitForMultipleObjects(50 , hd , true , INFINITE) ; cout<<num<<endl ; system("pause") ; }
运行结果:5000000
相关文章推荐
- find查找后 xargs 复制文件
- const 和 #define区别
- AndroidSupport兼容包无法关联源码的解决办法
- [看书日记20160111]没心情啊。。Messenger,AIDL
- [leetcode] 138. Copy List with Random Pointer 解题报告
- openstack 入门1
- easyui扩展-日期范围选择.
- Objective-c的内存管理MRC与ARC
- C++读取name values形式Config 配置文件
- sdoi最优图像image(网络流)
- 个人阅读作业
- linux中shell数组的使用和建立
- 我想做个公众号——当今社会的自我营销
- 个人阅读作业Week17
- iOS完全自学手册——[三]Objective-C语言速成,利用Objective-C创建自己的对象
- mysql使用gtid主从复制
- Python Scrapy安装
- keepalive实现mysql主从自动切换
- Seo关键词优化怎么做?
- Chromium Frame Tree创建过程分析