docs没有说明
GetCurrentThread()
的结果是否是TerminateThread()
的有效参数,iow:线程是否可以自行取消。
可以吗?如果是,
TerminateThread()
是否会返回?
忽略“
THREAD_TERMINATE
访问”的问题;假设我们实际上并没有调用 GetCurrentThread()
,而是存储了从 CreateThread()
返回的句柄,并现在从创建的线程中使用它来调用 TerminateThread()
。
我不确定您当前问题的正确答案是什么(是否可以为当前线程调用
TerminateThread
)。
但即使它可行,这似乎也是一个坏主意。
TerminateThread
只能作为最后的手段。其次,有更好的方法可以有序地结束当前线程:
ExitThread
API。鉴于上述 2 点,我看不到您想要为当前线程调用
TerminateThread
的场景。