我已经使用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!
我没有看到“线程创建完成!!” 正在打印并且程序此时卡住了。
任何指针都会有所帮助。谢谢!