【问题标题】:Should I join a thread that has been killed?我应该加入一个已被杀死的线程吗?
【发布时间】:2011-10-24 13:17:51
【问题描述】:

我有许多 可加入 线程在某些时候需要全部停止。线程是 pthread,但是是通过 RTAI 的用户空间接口创建的(不过不要介意 RTAI)。

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

  • 为每个线程设置该变量,以便它们停止
  • 最多等待一秒钟
  • 加入话题

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

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

【问题讨论】:

    标签: c++ c pthreads rtai lxrt


    【解决方案1】:

    杀死一个线程不会改变你是否应该加入它。如果 线程没有被分离,那么你需要加入它,否则你会泄漏 系统资源。

    【讨论】:

    • 没有所谓的“杀死线程”,所以我不确定这个答案(甚至问题)是什么意思......
    • 大概,他的意思是pthread_cancel(当然,线程不一定会对此做出反应)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-29
    • 2021-05-21
    • 2015-06-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多