我可以访问(不锁定)一个std :: map条目,而另一个线程插入/擦除entrys?从另一个线程插入/擦除时,是否可以访问C++ 11 std :: map条目?
例如伪C++:
typedef struct {
int value;
int stuff;
}some_type_t;
std::map<char,some_type_t*> my_map;
//thread 1 does:
my_map.at('a')->value = 1;
//thread 2 does:
some_type_t* stuff = my_map.at('b');
//thread 3 does:
my_map.erase('c');
//I'm not modifying any elements T is a pointer to an previously allocated "some_type_t"
STD C++ 11说,所有成员都应该是线程安全的(删除()不是常量)。
+1表示答案是'否' – Soren 2014-09-25 06:47:32