thread_mutex.c

来自「pthread的例子程序」· C语言 代码 · 共 45 行

C
45
字号
#include <stdio.h>#include <stdlib.h>#include <pthread.h>#define THREAD_NUM 8void *functionC();pthread_mutex_t mutex1 = PTHREAD_MUTEX_INITIALIZER;int  counter = 0;main(){   pthread_t thread_id[THREAD_NUM];   int i;   /* Create independant threads each of which will execute functionC */   for (i = 0 ; i < THREAD_NUM ; i++){	   pthread_create(&thread_id[i], NULL, &functionC, NULL);   }   /* Wait till threads are complete before main continues. Unless we  */   /* wait we run the risk of executing an exit which will terminate   */   /* the process and all threads before the threads have completed.   */   for (i = 0 ; i < THREAD_NUM ; i++){	   pthread_join(thread_id[i], NULL);   }   exit(0);}void *functionC(){   int s_counter;   //pthread_mutex_lock( &mutex1 );   counter++;   sleep(1);   s_counter = counter * counter;   printf("Counter value: %d\n", s_counter);   //pthread_mutex_unlock( &mutex1 );}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?