gcc原子化操作
2015-09-14 23:12
435 查看
#include<stdio.h> #include<stdlib.h> #include<pthread.h> static int count1=0; static int count2=0; void *test_func(void* arg) { int i=0; for(i=0;i<2000;++i) { ++count1; __sync_fetch_and_add(&count2,1); } return 0; } int main() { pthread_t id[20]; int i=0; for(i=0;i<20;++i) pthread_create(&id[i],NULL,test_func,NULL); for(i=0;i<20;++i) pthread_join(id[i],NULL); printf("count1=%d,count2=%d\n",count1,count2); return 0; }
相关文章推荐
- javaScript this 详解
- c++中new/operator new/placement new
- 对Throwable的处理
- GOF23设计模式之 工厂模式
- 上层建筑——DOM元素的特性与属性(dojo/dom-prop)
- Eclipse修改workspace
- Javascript 中 Array的 sort()和 compare()方法
- (1.4.5.1)Java编程题——在一个字符串中查找第一个非重复的字符
- ArrayAdapter requires the resource ID to be a TextView问题
- 广度优先算法 越狱
- 为什么 O2O 领域融资额特别高?
- MyBatis+springMVC+easyUI (dataGirl)实现分页(转载)
- get与post方法各自设置页面提交乱码解决方案
- JAD
- HI3515海思开发板移植3G模块笔记
- JAVA垃圾回收机制
- C#做的颜色工具
- 为什么会出现死锁
- 杭电acm--2026
- Geoprocessor 裁切