並列スレッドを作成したい。例: 私の出力は次のようになります: スレッド 1 スレッド 3 スレッド 4 スレッド 2...
pthread_t tid;
int n=4;
int i;
for(i=n;i>0;i--){
if(pthread_create(&tid,NULL,thread_routine,&i)){
perror("ERROR");
}
pthread_join(tid,NULL);
}
そして私の機能(ルーチン)は次のとおりです。
void *thread_routine(void* args){
pthread_mutex_lock(&some);
int *p=(int*) args;
printf("thread%d ",*p);
pthread_mutex_unlock(&some);
}
私は常に並列ではない結果を得ました:スレッド1スレッド2スレッド3スレッド4。このスレッドを同時に実行したい - 並列。問題は pthread_join の位置かもしれませんが、どうすれば修正できますか?