多线程new内存问题
一个函数被多线程调用,其中有用new分配内存的操作,这个操作用加锁吗?会发生分配内存冲突吗?
[解决办法]
这需要看你是多线程同时对new的相同空间进行操作还是不是,如果不是就不需要加锁,如果是就需要加锁
[解决办法]
不需要, 频繁new是性能损耗,想办法优化一下。
[解决办法]
函数调用有好几个步骤:
1.保存调用前现场
2.为形参分配空间
3.将形参赋值给实参
4.执行函数
5.返回调用前现场
每一次调用函数,不管谁调用,都会有这个步骤
楼主说函数里面是用来new空间的,既然是new,就不会把已经分配的控件再分配给你。所以不需要加锁。
但是如果是函数中,需要修改共享的数据,那就需要加锁。