title: C++ Thread Safety Summary
body: <p>I would like a summary of what exactly is thread safe in C++ both according to the current standard and C++0x as well as in practice (generally speaking, but also in my case with gcc 4.5.1).</p>
  
  <p>For STL containers, my understanding is that thread safety is not guaranteed according to the current standard.  Is it true though that in practice they are thread safe for single writer, multiple reader usage (on gcc and probably most modern compilers)?  Is this guaranteed by C++11?.</p>
  
  <p>What about POD types?  I know that the standard guarantees nothing, but I've been told that in practice, all are thread safe for reading and writing.  Of course even something simple like the increment operator may still need synchronization since there could be multiple reads and writes.</p>
  
  <p>I'm primarily interested in the answers, but the why behind the answers would be appreciated to.</p>