读书人

C++在线程内部动态申请的空间在外部结

发布时间: 2012-03-01 10:25:46 作者: rapoo

C++在线程内部动态申请的空间在外部结束线程后如何删除
我在线程内部用new申请了一段内存空间,然后在线程外部使用WateForSingleObject函数等待一段时间,如果在这段时间内线程还没结束,那我就使用线程句柄强制结束此线程(使用TerminateThread和CloseHandle),可是在线程内部的内存空间却不能释放,请问可以使用什么方法能够释放这段内存?

[解决办法]
没有办法能释放这段内存,除非你改变你的策略:
要么不在线程内部用new
要么new出来的指针统一存到一个全局的地方,线程结束了再统一释放
[解决办法]
赞同楼上的做法
在线程外保存该内存的指针,如果线程结束后指针不为空,则delete
[解决办法]
同意三楼的做法,原来有看到过同样的问题

读书人网 >C++

热点推荐