关于内存崩溃经验

例如开10个子进程

(1)尽量不要在子进程中分配和释放内存,比如可以可以先分配好固定的10块内存,每次拿空闲的给某个子进程用。类似内存池的思想。

(2)尽量不要在子进程内调用界面ui元素的实例,尽量使用windows消息机制,将操作发送到ui元素的句柄。实在不熟悉的消息需要调用ui元素的话,可以做个原子互斥。让子进程对ui元素的操作互斥住。

(3)尽量不要在子进程内使用全局变量,实在要用的话,读的时候,做原子互斥拷贝一份。最后用完写回去的时候,再做原子互斥写回去。

(4)能在主进程计算的过程,尽量在主进程计算。不放到子进程中操作。例如:子进程依次处理一组词,进行url编码,然后提交到某处,取回结果。可以先对词全部进行url编码,给每个子进程一个url编码后的词,则子进程只干提交到某处,取回结果。因为有的语言处理各种编码解码的模块容易有bug,子进程交叉操作的时候,容易释放不干净内存,越积越多。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值