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; } }
Please call me JiangYouDang!