我用C写了一个程序。我有3个线程,这是并发工作。(为了保护临界区,我使用了信号量)。我的程序只是在某些情况下退出(提供i=by if命令的结束情况),它存在于线程2中。带有命令:exit(-1)
当我在linux中运行我的程序时,当它达到这个条件时,它会完全退出。但是我仍然不确定是否所有其他线程都退出了?还有,它们是否留在内存中?有人告诉我,它们仍然是僵尸,因此它可能会损害系统,但当我查看进程(使用ps命令)时,我什么也看不到。现在我需要一些关于结束所有线程的帮助,还需要在我的系统中寻找僵尸。
发布于 2016-02-02 17:39:00
exit会终止整个程序,之后不会再运行任何线程。这可能不是你想要的,这取决于你的程序是如何设计的--不做清理,线程在终止时被终止。
https://stackoverflow.com/questions/35149496
复制相似问题