I've been using boost::thread successfuly for some time now. Occasionally I run into trouble with mutexes and condition variables but nothing worth posting here since I eventually have found the solution. However, there is one advice I have not been following and it is starting to worry me.

I'm advised to use thread-safe runtime libraries in my code. That is fine for the other boost libraries since I built those. However, I simply don't know if the standard libraries that ship with MinGW are thread-safe. There are times where I lock resources defined in these libraries (most especially std::cout and std::cin).

My knowledge of threads is limited. Does MinGW ship with thread-safe standard libraries? Are these located anywhere in particular? Currently this is the order of includes I have defined for MinGW standard libraries:

Code:
C:\MinGW\lib\gcc\mingw32\3.4.5\include
C:\MinGW\include\c++\3.4.5\backward
C:\MinGW\include\c++\3.4.5\mingw32
C:\MinGW\include\c++\3.4.5
C:\MinGW\include