c++ - 给定一个线程 id,如何在 linux 上的 C++ 中确定它是否存活

标签 c++ linux multithreading pthreads

仅给定线程 ID,是否可以从那里决定线程是否仍然存在?我说的是 Linux 上的 C++。

最佳答案

来自手册页:

DESCRIPTION

   The pthread_kill() function shall request that a signal  be  deliv-
   ered to the specified thread.

   As in kill(), if sig is zero, error checking shall be performed but
   no signal shall actually be sent.

所以:

bool isalive(int threadid)
{
  return pthread_kill(threadid, 0) != ESRCH;
}

关于c++ - 给定一个线程 id,如何在 linux 上的 C++ 中确定它是否存活,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8126555/

相关文章:

java - 文件同步器架构

sql - 如何同时支持一个web上的多个sql查询?

c++ - 二叉树构造函数中的 EXC_BAD_ACCESS

C++分配给指针一个指向常量的指针

c - Valgrind 显示的以下内存泄漏有多严重

c# - Task.WhenAll 未完成

c++ - async_connect 在 boost::asio 中阻塞 io_service::run_one()

c++ - .exe 窗口退出后

linux - 静态链接程序在 gcc 4.7 中正常,在 gcc 4.8 中失败。在运行时使用 dlopen

linux - 统计最近 7 天内文件中出现的次数