linux c编程 -- 线程互斥
#include <stdio.h> #include <pthread.h> #include <unistd.h> #include <stdlib.h> static int value = 0; pthread_mutex_t mutex; void* func(void* args) { while(1) { pthread_mutex_lock(&mutex); sleep(1); value ++; printf("value = %d!\n", value); pthread_mutex_unlock(&mutex); } } int main() { pthread_t pid1, pid2; pthread_mutex_init(&mutex, NULL); if(pthread_create(&pid1, NULL, func, NULL)) { return -1; } if(pthread_create(&pid2, NULL, func, NULL)) { return -1; } pthread_join(pid1, NULL); pthread_join(pid2, NULL); return 0; }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。