を使用してスレッドを作成しましたpthread_create()
。新しいスレッドが正常に作成され、制御が新しく作成されたスレッドに渡されます。ただし、メインスレッドはもう実行されていないようです。メイン スレッドは無限ループにあり、決して終了しません。以下は、コードのスニペットです。
void *start_routine(void)
{
printf("Start routine reached!\n");
fflush(stdout);
printf("Pthread returning!\n");
fflush(stdout);
return NULL;
}
void create_thread()
{
pthread_t newThread;
printf("Thread create reached!!\n");
fflush(stdout);
/* Create the new thread */
if((pthread_create(&newThread, NULL, start_routine , NULL)) != 0 ){
perror("pthread_create");
fflush(stdout);
}
printf("Thread create done!!\n");
fflush(stdout);
return;
}
出力は次のとおりです。
Thread create reached!!
Start routine reached!
Pthread returning!
「スレッド作成完了!!」が表示されない 印刷されており、プログラムはこの時点でスタックしています。
どんなポインタも役に立ちます。ありがとうございました!