为什么多线程程序中对未加锁的map进行写后,会造成new或malloc申请内存失败

 我来答
匿名用户
2016-03-25
展开全部
对于复杂类型的数据,例如string, map,struct,vector等等,其内部都是由多个简单类型的数据组成的。
当多线程同时对map进行读写时,必然会导致其内部的各种数据不一致,进而导致后续操作失败。
比如:线程A添加了一个元素,正打算把数量total加一,线程B清空了map,把total清零,这样导致了实际元素数量和total不一致,就会影响后面的内存分配操作了。
大雅新科技有限公司
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,... 点击进入详情页
本回答由大雅新科技有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式