【发布时间】:2011-11-14 19:20:40
【问题描述】:
在 linux 上,我们有 pthread_kill() 来执行此操作。我正在尝试为它找到一个 Windows 对应项。
换句话说,给定一个线程id,有没有办法判断线程是否还在运行?
GetExitCodeThread() 是我找到的最接近的,但是,它需要线程句柄而不是线程 ID 作为其参数。
【问题讨论】:
-
我相信
pthread_kill()具有与您的答案中描述的相同的缺点。您是在控制这个线程的生命周期,还是只是一些随机线程? -
@DavidHeffernan 你的意思是我们仍然要承担 linux 上的 id 回收所带来的风险?
-
我不相信你可以跨进程边界使用 POSIX 线程标识符,所以这个警告可能只适用于 windows。
-
是的,我想是这样的。我希望两个系统都采取措施使回收冲突不太可能发生,但两者都必须是可能的。
-
@Terry 线程从何而来?它们在你的控制之下吗?
标签: c++ windows multithreading