我有一个多线程程序,在下面的代码中,当 y 的值变得小于 0 时,我需要所有线程停止运行。
这是源代码 -
else if(y<0)
{
flag=1;
printf("Exit the program\n");
pthread_exit((void *)55);
printf("sdjfajdflsdj");
// return NULL;
}
发生的事情是程序正在打印行 - 退出程序,但卡在了那里。它不会转到行 printf("sdjfajdflsdj");它也不退出代码。
有人可以帮忙吗?
谢谢
最佳答案
pthread_exit
退出当前线程,而不是其他线程。我相信 exit
应该退出所有线程。
关于c - 退出多线程程序中的所有线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7811342/