终结一个线程。windows
BOOL WINAPI TerminateThread( _Inout_ HANDLE hThread, _In_ DWORD dwExitCode );
要终结线程的句柄。这个句柄必须有THREAD_TERMINATE权利。ide
线程的退出值。函数
若是函数成功,返回非0值。spa
若是失败,返回0.线程
函数是用来推出线程。当函数调执行,目标线程没有机会执行任何用户级代码。与DLL关联的线程不被通知就终结了。系统是否线程的初始栈。对象
Windows Server 2003 and Windows XP: 目标线程的栈没被释放,会引发资源泄漏。进程
本函数是危险的,只能在极端状况下运用。若是你知道目标线程正在作什么,你能够调用TerminateThread;并且你能够控制目标线程在终结时运行的代码。好比,TerminateThread调用可能会引发下列问题:内存
调用了TerminateThread,线程就不能自我保护,没有控制本身handle的权利了。经过CreateThread和CreateProcess返回的线程句柄用THREAD_TERMINATE的权利,所以任何调用者都能经过这些句柄来终结这个线程。ci
若是目标线程是进程的最后一个线程,线程的进程也会终结。资源
线程对象的状态会被激发,释听任何其余线程等待此线程终结的信号。【也就是WaitForSingleObject[threadID,]会变为激发态】
终止一个线程没有必要从系统移除线程对象。当最后一个线程句柄关闭时线程对象被删除。