c++ 多线程 为什么反复创建释放多线程TTHREAD对象会引起内存溢出?

为什么反复创建释放多线程TTHREAD对象会引起内存溢出?删除freeonterminate的原因是您已经设置了线程的freeonterminate。这将导致线程对象在线程完成时自动释放。结果,线程对

为什么反复创建释放多线程TTHREAD对象会引起内存溢出?

删除freeonterminate的原因是您已经设置了线程的freeonterminate。这将导致线程对象在线程完成时自动释放。结果,线程对象在主线程中应用,但在子线程中释放。一般的解决方案是在线程完成后手动释放线程对象。

在写线程时,我们要遵循一个基本原则,即线程负责释放线程请求的内存,而主线程请求的TThread应该在主线程中释放,而不是freeonterminate。