找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 6339|回复: 3

stl容器放到共享内存问题

[复制链接]
发表于 2008-9-20 15:48:42 | 显示全部楼层 |阅读模式
当一个进程把stl的容器放到共享内存的时候,另一个进程去读取数据会不会出现冲突呢?我的编译器是vc8,我在调试过程中,看到了读取数据那个进程能够准确对把数据放到一个容器(map)里,但是就读不出来,总是在函数:void _CLR_OR_THIS_CALL _Adopt(const _Container_base *_Parent)的这行语句((_Container_base *)_Parent)->Myfirstiter = this;出错终止掉了。????希望大家帮帮忙,我确实不清楚什么原因。
 楼主| 发表于 2008-9-20 15:48:49 | 显示全部楼层
当一个进程把stl的容器放到共享内存的时候,另一个进程去读取数据会不会出现冲突呢
yes. Yo have to lock/unlock.
发表于 2010-3-30 09:19:23 | 显示全部楼层
应该读取出错的,你也说了加锁,其目的就是让写入的时候完整些,之后再读取
发表于 2010-4-14 22:49:19 | 显示全部楼层
标准库中的容器非线程安全性的容器
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-12-22 17:09 , Processed in 0.016017 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表