1. 程式人生 > 其它 >【系統程式設計】執行緒同步

【系統程式設計】執行緒同步

 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("
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 }
Codeforces ID:Anonytt QQ: 847399102 可以新增&關注