NoS*_*tAl 5 c++ gcc stl thread-safety
我在网上找到了相互矛盾的信息:http: //www.sgi.com/tech/stl/thread_safety.html
STL的SGI实现仅在对不同容器的同时访问是安全的意义上是线程安全的,并且对共享容器的同时读取访问是安全的.如果多个线程访问单个容器,并且至少有一个线程可能写入,则用户负责确保在容器访问期间线程之间的互斥.
http://gcc.gnu.org/onlinedocs/libstdc++/manual/using_concurrency.html
用户代码必须防止可能访问任何特定库对象状态的并发方法调用.通常,应用程序员可以基于方法调用中引用的对象推断必须保持哪些对象锁.没有详细介绍,这里有一个需要用户级锁定的示例:
所有库对象都可以安全地在多线程程序中使用,只要每个线程小心地锁定任何其他线程的访问,同时它使用对另一个线程可见的任何对象,即像任何其他共享资源一样处理库对象.通常,此要求包括对对象的读写访问; 除非另有说明为安全,否则不要假设两个线程可以同时访问共享标准库对象.
我加粗了这个重要的部分 - 也许我不明白他们的意思是什么,当我读到对象状态我想到了STL容器