试图在谷歌搜索这个问题的答案,但找不到它。
考虑一个线程在释放线程执行开始时分配的内存之前被杀死的情况。
thread_func() {
memory is allocated in the heap using either malloc/calloc
---thread is killed while executing---
Free(memory)
}
在这种情况下你如何释放记忆?
答案 0 :(得分:1)
简单的答案是,不要终止线程,那是非常糟糕的设计。通常,这将使所有已分配的资源保持在空闲状态,并且在该过程关闭之前不会被释放。
想一想重新设计代码的方法。
例如,请阅读Microsoft文档以了解所有风险。 http://msdn.microsoft.com/en-us/library/windows/desktop/ms686717(v=vs.85).aspx