pthread线程状态

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

如果您只针对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超时。

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