首页 > 编程知识 正文

不同线程调用同一个函数,c主线程等待子线程结束

时间:2023-05-06 15:17:19 阅读:62511 作者:2432

另一方面,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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。