线程删除

  前几天定位一个问题,发现是线程结束不当造成的内存泄漏。定位解决完成后,突然想起梁的这本书。我翻到他的关于线程的一段的描述:“当用 _beginThread 来创建,而用 CloseHandle 来关闭线程时,这时复制的全局结构就不会被释放了,这就有了内存的泄漏。……”对于这段描述其实是不全面的;如果在 C ++里面强行中止一段线程;线程中的临时对象也不会去调用自己的悉构函数来释放资源的,也就是说,强行中止一段线程不是一种安全的做法,真正好的做法不是用系统提供的 API 来结束线程,而是要用自己可控制的循环变量来调节线程,这才能构做到线程的安全中止。在c里面有一个叫做longjmp的API,如果在CPP函数体内调用此函数也会出现相同的漏洞。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值