繁体   English   中英

如何在Windows的调度程序结构中查找线程的当前状态

[英]How to find the current state of a thread in the scheduler strucure in windows

我想知道由CreateThread()api创建的线程的当前状态(SUSPENDED / READY / RUNNING / WAITING状态)。

我如何找到它?

我的开发环境是Visual Studio 2008 Express Edition

语言也是C / C ++

/ renjith g

正如先前回答的那样:

检查Win32线程是否正在运行或处于挂起状态

不提供提供此信息的API,因为它们返回的信息在返回之前是陈旧的。 如果您想知道线程是否被挂起,请调用SuspendThread。 现在您知道了(a)线程的挂起计数至少为1,并且由于SuspendThread返回“上一个”挂起计数,因此您可以知道,在调用SuspendThread的某个时候,挂起计数 0,或者一些数字。 测试线程是否在WaitForXObject中被“卡住”的逻辑相同:-在停止线程之前,您无法安全地知道该问题的答案。

您可能会发现此线程状态监视器 (免费)对于查看应用程序中的线程状态很有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM