gpt4 book ai didi

c++ - 给定线程 ID,如何确定它是否仍在 Windows 上运行

转载 作者:可可西里 更新时间:2023-11-01 10:56:50 26 4
gpt4 key购买 nike

在 Linux 上,我们有 pthread_kill() 来执行此操作。我正在尝试为它找到 Windows 对应项。

换句话说,给定一个线程id,有没有办法判断线程是否还在运行?

GetExitCodeThread() 是我发现的最接近的方法,但是,它需要线程句柄而不是线程 ID 作为其参数。

最佳答案

您不应该为此目的使用线程 ID:线程 ID 可以重复使用,因此如果您获得线程 ID,则该线程退出,另一个线程可以使用相同的线程 ID 启动。

句柄不存在这个问题:一旦一个线程终止,该线程的所有句柄都会反射(reflect)该线程的终止状态。

您可以使用 OpenThread 获得具有给定 id 的线程的句柄;然后您可以将该句柄传递给 GetExitCodeThread 以确定线程是否已退出。

关于c++ - 给定线程 ID,如何确定它是否仍在 Windows 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8126877/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com