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

多线程new内存有关问题

2013-03-01 
多线程new内存问题一个函数被多线程调用,其中有用new分配内存的操作,这个操作用加锁吗?会发生分配内存冲突

多线程new内存问题
一个函数被多线程调用,其中有用new分配内存的操作,这个操作用加锁吗?会发生分配内存冲突吗?
[解决办法]
这需要看你是多线程同时对new的相同空间进行操作还是不是,如果不是就不需要加锁,如果是就需要加锁
[解决办法]
不需要, 频繁new是性能损耗,想办法优化一下。
[解决办法]
函数调用有好几个步骤:

1.保存调用前现场
2.为形参分配空间
3.将形参赋值给实参
4.执行函数
5.返回调用前现场

每一次调用函数,不管谁调用,都会有这个步骤
楼主说函数里面是用来new空间的,既然是new,就不会把已经分配的控件再分配给你。所以不需要加锁。
但是如果是函数中,需要修改共享的数据,那就需要加锁。

热点排行