c++ - pthread线程状态

标签 c++ c pthreads

是否有一种机制可以用来判断 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++ - pthread线程状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1365711/

相关文章:

c++ - 如何使运算符 << 的左操作数成为函数?

c++ - 使用 boost pp 和 mpl 编译时初始化数组

c++ - 以下场景使用什么模式?

c - 在 Ubuntu 目录中列出文件

c - eclipse错误找不到-l/usr/lib/gcc/x86_64-linux-gnu/4.8/include/libcrypto

c - 简单C程序逻辑错误+指针误解

c++ - 将int转换为字符串并添加到c++中的现有字符串

linux - 为 Linux 使用 SIGCONT 和 CLONE() 和 CLONE_STOPPED 标志

c - 如何将 int 作为 "void *"传递给线程启动函数?

c - 将 pthread_t 传递给函数时出现奇怪的错误