pthread线程状态

时间:2009-09-02 03:32:57

标签: c++ c pthreads

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

2 个答案:

答案 0 :(得分:5)

如果您只定位到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来表示超时。

答案 1 :(得分:2)

我刚刚将这个线程包装在一个C ++类中,并保持一个状态变量可以在以后检查。