c多线程不加锁demo
//// Created by gxf on 2019/12/13.
//
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
int shareInt = 0;
void increase_num(void);
int main() {
int ret;
pthread_t thread1, thread2, thread3;
ret = pthread_create(&thread1, NULL, increase_num, NULL);
ret = pthread_create(&thread2, NULL, increase_num, NULL);
ret = pthread_create(&thread3, NULL, increase_num, NULL);
pthread_join(thread1, NULL);
pthread_join(thread2, NULL);
pthread_join(thread3, NULL);
printf("sharedInt:%d\n", shareInt);
return 0;
}
void increase_num(void) {
long i, tmp;
for (i=0; i <= 100000; i++) {
tmp = shareInt;
tmp = tmp + 1;
shareInt = tmp;
}
}
文档来源:51CTO技术博客https://blog.51cto.com/u_2498536/3304167
页:
[1]