读书人

PostThreadMessage内存释放有关问题

发布时间: 2012-06-24 18:32:37 作者: rapoo

PostThreadMessage内存释放问题
想问一下各位,PostThreadMessage如何做到“谁申请,谁释放”。

自己做的尝试如下:

1. 线程 A new 一块内存 PostThreadMessage到线程 B 然后由 线程 B delete,但不是“谁申请,谁释放”,而且有各线程堆栈空间不一致时,释放失败的问题

2. 现在采用的方法是 线程 A 在进程堆上 HeapAlloc,PostThreadMessage 到线程 B 然后由 线程 B HeapFree,测试没有问题,同样不是“谁申请,谁释放”。

3. 线程 A 提供释放内存的函数,线程A new 然后PostThreadMessage,线程 B 使用完内存之后,发送消息给线程 A,由线程 A 释放,做到“谁申请,谁释放”,但是需要额外的信息交互以及处理函数。

不知道各位有没有比较好的使用PostThreadMessage传递大量参数的方法。

[解决办法]
如果是我,我用3
[解决办法]
做个内存管理的类,当不再使用后,标记一下,然后释放

读书人网 >C++

热点推荐