c++ - 监控一个线程的状态

标签 c++ multithreading

就是下面这段代码

  if(ESRCH == pthread_kill(Thread_Id,0))
            start_Thread_Again

检查我的线程是否意外退出的好方法?我们可以像这样使用它吗

   wait(-1,W_NOHANG)

最佳答案

“意外退出?”线程不会意外退出,它退出是因为您的代码告诉它这样做 [意味着如果您不希望它退出,就会出现错误]。

来自 pthread_kill 的联机帮助页:“与 kill() 一样,如果 sig 为零,则应执行错误检查但实际上不会发送任何信号。”

你的代码是错误的,它必须检查相等性。

关于c++ - 监控一个线程的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8778218/

相关文章:

c++ - 以编程方式访问笔记本电脑上的 CPU 风扇? ( Windows )

c++ - CRTP - 危险的内存访问?

c++ - 失败后继续从流中读取是否可以?

android - Java - 安卓 : Thread being called (run) twice

c# - 在多线程C#应用程序中使用互操作的Excel文件操作失败

c# - await 是否完全阻塞线程?

c++ - Visual C++ 到 Turbo C++

C++使用zlib压缩字符串,文档命名

c# - 使用 ReaderWriterLock 的真正缺点是什么

Java 线程等待通知