Special Container Object?

I think i may need a special container, depending on how the OS, and language handle what i want to do. I need something like a STL queue class, however it has to support multiple threads accessing it all at once, reading, writing, whatever. The problem is when i impliment it taking a strait forward approach, i end up with 2 access violations(occouring at random as the instructions attempt to execute too close to one another). One is where im trying to write to it, and the other is when i try to print the top element of it using cout. I need a simple way to impliment a queue system, thats thread safe. Outputting it is another concern. In testing im using cout, however in the final product it will be using sockets. I believe i read a thread a week back that said windows sockets were thread safe, however im not entirely sure how aucurate it may be. Thanks for your time, i eagerly await your replys.