【发布时间】:2016-05-19 10:23:13
【问题描述】:
运行以下 C 代码会导致程序挂起,并且不响应信号(包括 CTRL-C)。
int main()
{
pthread_exit(0);
return 0;
}
知道为什么吗?
当其他线程已创建并正在运行时,该行为是正常的,但我想知道在使用 pthread_exit(0) 之前是否总是需要检查。
编辑: 这是挂起的完整代码。但是,我是用 glib (-lglib-2.0) 构建的。只需使用 cc -o foo foo.c 即可按预期工作。
【问题讨论】:
-
挂起?你终止了它!您的进程只有一个线程 - 由加载程序创建的线程,您终止了它:(
-
这是完整代码(挂起)吗?那你说的其他线程是什么?
-
无法在此处复制,无论有无
-lglib-2.0。
标签: c multithreading pthreads pthread-exit