thread_join.c

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

C
39
字号
#include <stdio.h>#include <pthread.h>#define NTHREADS 10void *thread_function();pthread_mutex_t mutex1 = PTHREAD_MUTEX_INITIALIZER;int  counter = 0;main(){   pthread_t thread_id[NTHREADS];   int i, j;   for(i=0; i < NTHREADS; i++)   {      pthread_create( &thread_id[i], NULL, &thread_function, NULL );   }   for(j=0; j < NTHREADS; j++)   {      //pthread_join( thread_id[j], NULL);    }     /* Now that all threads are complete I can print the final result.     */   /* Without the join I could be printing a value before all the threads */   /* have been completed.                                                */   printf("Final counter value: %d\n", counter);}void *thread_function(){   printf("Thread number %ld\n", pthread_self());   pthread_mutex_lock( &mutex1 );   counter++;   pthread_mutex_unlock( &mutex1 );}

⌨️ 快捷键说明

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