gcc原子化操作

来源:互联网 发布:mysql 删除重复值 编辑:程序博客网 时间:2024/05/29 06:50
#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;}

0 0