【问题标题】:pthread thread statepthread 线程状态
【发布时间】:2010-11-24 20:12:14
【问题描述】:

是否有一种机制可以用来判断 pthread 线程当前是否正在运行或已退出?如果线程尚未退出,是否有一种 pthread_join() 方法可以在特定时间段后超时?

【问题讨论】:

    标签: c++ c pthreads


    【解决方案1】:

    我刚刚将线程封装在一个 C++ 类中,并保留了一个状态变量,以便以后检查。

    【讨论】:

      【解决方案2】:

      如果您只针对 linux,请使用 http://www.kernel.org/doc/man-pages/online/pages/man3/pthread_tryjoin_np.3.html

      如果您需要任何 POSIX 系统的东西,您可以复制 http://www.opengroup.org/onlinepubs/000095399/xrat/xsh_chap02.html#tag_03_02_08_21 中的“pthread_timedjoin”实现 - 它使用条件变量来表示线程终止,并使用 pthread_cond_timedwait 来表示超时。

      【讨论】:

      • 谢谢,但我的特定版本似乎不支持它。
      猜你喜欢
      • 2013-01-11
      • 1970-01-01
      • 2020-11-15
      • 1970-01-01
      • 1970-01-01
      • 2011-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多