【系統程式設計】執行緒同步
阿新 • • 發佈:2021-11-18
1 #include<stdio.h> 2 #include<string.h> 3 #include<pthread.h> 4 #include<stdlib.h> 5 #include<unistd.h> 6 7 pthread_mutex_t mutex; //定義一把互斥鎖 8 void *tfn(void *arg){ 9 srand(time(NULL)); 10 while(1){ 11 pthread_mutex_lock(&mutex); //加鎖 12 printf("Codeforces ID:Anonytt QQ: 847399102 可以新增&關注hello "); 13 sleep(rand()%3); 14 printf("world\n"); 15 pthread_mutex_unlock(&mutex); //解鎖 16 sleep(rand()%3); 17 } 18 return NULL; 19 } 20 21 int main(void){ 22 pthread_t tid; 23 srand(time(NULL)); 24 25 int ret = pthread_mutex_init(&mutex,NULL); //初始化互斥鎖 26 27 pthread_create(&tid,NULL,tfn,NULL); 28 while(1){ 29 pthread_mutex_lock(&mutex); //加鎖 30 printf("HELLO "); 31 sleep(rand()%3); 32 printf("WORLD\n"); 33 pthread_mutex_unlock(&mutex);//解鎖 34 sleep(rand()%3); 35 36 } 37 pthread_join(tid,NULL);38 return 0; 39 }