监视线程的状态
monitor the status of a thread
下面的代码是吗
if(ESRCH == pthread_kill(Thread_Id,0))
start_Thread_Again
检查线程是否意外退出的好方法?我们能像一样使用它吗
wait(-1,W_NOHANG)
"意外退出?"线程不会意外退出,它退出是因为你的代码告诉它这样做[意味着如果你不想让它退出,你就有一个bug]。
根据pthread_kill
的手册页:"与kill()中一样,如果sig为零,则应进行错误检查,但实际不应发送任何信号。"
您的代码是错误的,必须检查是否相等。
很难确定,因为你的问题中几乎没有上下文。但这表明一个人对线程的思考方式完全不正确。
一段典型的应用程序代码没有理由关心另一个线程具体在做什么。您可能关心正在完成的某些工作的状态,但这种关心在逻辑上应该独立于当时可能正在或可能不在做该工作的线程。
如果你的问题是某项工作是否完成,或者某项任务是否正在进行,请查看与该工作或任务相关的结构。这些结构不会与特定的线程相关联,而是与需要完成的事情相关联。
相关文章:
- 生成线程并在运行时执行其他操作,只要它处于活动状态
- 对于每个线程,random_device是否以不同的状态启动?
- 如何防止另一个线程修改状态标志?
- 将另一个线程置于睡眠状态
- 在状态栏上显示来自不同线程中回调的消息
- 如何在C++中访问与线程关联的机器状态
- mutex::lock() 检查一次解锁状态是否已经被另一个线程锁定?
- 多线程插件体系结构中的共享、单侧可变状态
- 多线程状态机在C/C++中的实现
- 如何避免在协程被阻塞时线程进入阻塞状态
- 在传递到线程后保持引用处于活动状态
- 如何知道线程处于挂起状态
- 在 GDB 中调试多线程服务器 - 查找每个线程的状态.执行时继续并停止
- 线程池卡在等待状态
- C++如何在多线程中获取状态
- 工作线程使主线程MFC的对话框处于非活动状态
- 如何在单独的线程中调用方法并使用返回状态
- c++线程处于活动状态
- 线程状态记录器Visual Studio 2008
- 单独线程中的两个窗口同时处于活动状态