2011-10-24 52 views
1

我有很多可连接在某些时候需要停下来的线程。这些线程是pthread,但是通过RTAI的用户空间界面创建(尽管不介意RTAI)。我应该加入一个已被杀死的线程吗?

对于每个线程我有一个变量,我可以设置告诉他们退出。所以我要做的就是:

  • 组为每个线程变量,以便他们停止
  • 最多等待1秒
  • 加入会话

现在的问题是,因为我使用RTAI,它使用内核空间伙伴线程为我工作,如果出现问题,线程可能无响应(它从来没有发生过,但我必须小心,以防万一出错)。在这种情况下,我只是杀死线程。

所以,我的问题是,一旦你有一个死亡的线程,你应该join吗?

回答

4

杀死一个线程不会改变你是否应该加入它。如果 线程尚未分离,那么您需要加入它,否则您将在系统中泄漏 资源。

+1

有没有这样的事情,“杀死一个线程”,所以我不知道这个答案(甚至是问题)的意思是什么...... –

+0

大概,他的意思是'pthread_cancel'(但当然,不一定会对此作出反应)。 –