首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

请问:有关主线程 new 内存空间,在子线程中访问的,怎样delete的有关问题

2012-01-18 
请教:有关主线程 new 内存空间,在子线程中访问的,怎样delete的问题。疑问:在主线程中new一个内存空间,在子

请教:有关主线程 new 内存空间,在子线程中访问的,怎样delete的问题。
疑问:
  在主线程中new一个内存空间,在子线程中需要访问该内存空间。那是应该在主线程中delete,还是在子线程中delete呢?怎样才不会造成内存泄漏呢?
  如果在主线程中delete,那出现,当主线程delete了,而子线程的访问就出错。 会有什么结果?
  如果在子线程中delete,那么,在调试中,当子线程非法结束时,还没有delete操作,是不是又会造成内存泄漏呢?

  总之,该怎么样去delete这个内存空间,请专家赐教!

[解决办法]
使用线程同步。
[解决办法]
多线程访问同一块内存,肯定得用临界区吧
[解决办法]
哪个线程new的东西,最好由该线程自己来delete,处理好线程同步,一般不会有问题。

[解决办法]

探讨

引用:
那就要加线程同步了机制了,要是主线程要用到子线程的结果估计就得阻塞主线程了
主:
ResetEvent()
WaitForSingleObject(hevent,INFINITE)
子:
执行操作
SetEvent
return 0l;
大概是这个思路


谢谢!
主线程确实要用到到子线程的结果,那如果阻塞主线程,那是不是就是等到子线……

热点排行