为什么反复创建释放多线程TTHREAD对象会引起内存溢出
1个回答
推荐于2016-12-01 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:25897
获赞数:1464984
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。
向TA提问 私信TA
关注
展开全部
把FreeOnTerminate去掉,原因是你设置了线程的FreeOnTerminate,这样会导致线程执行完毕的时候,自动释放线程对象,这样就导致了这个线程对象是在主线程中申请的,但是在分线程释放的,一般解决办法是线程执行完毕手动释放。
在编写线程的时候,要遵守基本的原则,即本线程申请的内存,本线程负责释放,主线程申请的TThread,应该在主线程释放,而不是用FreeOnTerminate来释放。
在编写线程的时候,要遵守基本的原则,即本线程申请的内存,本线程负责释放,主线程申请的TThread,应该在主线程释放,而不是用FreeOnTerminate来释放。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询