peakzhang 发表于 2008-9-20 15:48:42

stl容器放到共享内存问题

当一个进程把stl的容器放到共享内存的时候,另一个进程去读取数据会不会出现冲突呢?我的编译器是vc8,我在调试过程中,看到了读取数据那个进程能够准确对把数据放到一个容器(map)里,但是就读不出来,总是在函数:void _CLR_OR_THIS_CALL _Adopt(const _Container_base *_Parent)的这行语句((_Container_base *)_Parent)->Myfirstiter = this;出错终止掉了。????希望大家帮帮忙,我确实不清楚什么原因。

peakzhang 发表于 2008-9-20 15:48:49

当一个进程把stl的容器放到共享内存的时候,另一个进程去读取数据会不会出现冲突呢
yes. Yo have to lock/unlock.

guitar1314 发表于 2010-3-30 09:19:23

应该读取出错的,你也说了加锁,其目的就是让写入的时候完整些,之后再读取

zyhlogin 发表于 2010-4-14 22:49:19

标准库中的容器非线程安全性的容器
页: [1]
查看完整版本: stl容器放到共享内存问题