另一方面,TerminateThread不强烈推荐此函数的执行是异步的
不能保证呼叫后立即结束。 此外,线程的堆栈不会被销毁,从而导致内存泄漏。 如果调用此函数,请使用WaitForSingleObject等待线程对象结束。
可以使用TerminateThread结束线程的地方:线程函数简单,即使只进行简单的数据处理,也与资源分配无关,没有动态对象。 但是,需要慎重使用。
参考链接: https://blog.csdn.net/QQ _ 35097289/article/details/80240702
二、调用TerminateThread杀死线程的致命问题:
在TerminateThread退出线程后,没有回收堆栈(请注意,甚至没有回收堆栈) () ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
整个进程在分配和重用内存时占用相同的锁。 如果一个线程在使用该锁定时被杀,也就是说,如果该线程在死前正在进行new或delete操作,则其他线程将无法使用new或delete,并表现为卡住
请参阅MSDN :
MSDN 2005原文: terminatethreadisusedtocauseathreadtoexit.whenthisoccurs,thetargetthreadhasnochancetoexecuteanyuser-modecodecurs