
Conway Allen ha escrito:
Regarding thread safety, if threads are concurrently reading, inserting, and erasing entries in a multi-index container do you have to lockguard all of these operations or can you get away with just lockguarding the inserts and the deletes?
You have to lockguard every access to the container; note this also includes, for instance, container traversal with iterators, i.e. iterator displacement. Strictly speaking, iterator dereference should also be lockguarded, although I can say unofficially that unguarded dereference is OK. The kind of thread-safety provided by B.MI (and by most STL implementations) is described at SGI docs: http://www.sgi.com/tech/stl/thread_safety.html
Thanks, Allen.
Joaquín M López Muñoz Telefónica, Investigación y Desarrollo