c - 退出多线程程序中的所有线程

标签 c

我有一个多线程程序,在下面的代码中,当 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/

相关文章:

c - turbo c++ 中十六进制的右移运​​算符

c - 如何让 system() 使用通配符

C语言凯撒密码

c - 干掉这个代码片段(不要弄脏命名空间太多)

c++ - 如何在 C/C++ 中生成表的所有组合的数组列表

c - 在 Win32 中使用 C 语言中的扩展 ASCII 归类表

c - 在 linux 环境下查找 c 代码中的内存泄漏

结构函数指针的编译器处理

c - 关于C语言socket编程的几个问题

c - lseek() O(1) 复杂吗?