STL与多线程+写时拷贝

http://blog.csdn.net/liuxuejiang158blog/article/details/13251379 

STL并不是线程安全的,当多个线程同时读取STL时没什么问题。当多个线程中有写STL时则非线程安全,导致其它线程的end()检测或迭代器 算术操作无意义,修改操作可能导致STL重新分配内存,原来的迭代器可能失效。要实现多线程安全:可以用锁机制,也可以将写操作推后。

      例子:一个线程输出vector元素,另一个容器不断往vector添加元素。最后出现的结果可能时段错误,也可能运行正常。

原文地址:https://www.cnblogs.com/jingzhishen/p/3520820.html