Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > C++ > Is std::queue thread-safe?

Reply
Thread Tools

Is std::queue thread-safe?

 
 
Andy
Guest
Posts: n/a
 
      07-05-2005
Hi,

Is std::queue thread-safe, or shall I use some synchronization
facilities such as pthread_mutex to make sure my usage is thread-safe?

Thanks!

- Andy

 
Reply With Quote
 
 
 
 
red floyd
Guest
Posts: n/a
 
      07-05-2005
Andy wrote:
> Hi,
>
> Is std::queue thread-safe, or shall I use some synchronization
> facilities such as pthread_mutex to make sure my usage is thread-safe?
>
> Thanks!
>
> - Andy
>


Compiler dependent.
 
Reply With Quote
 
 
 
 
Panjandrum
Guest
Posts: n/a
 
      07-05-2005
Andy wrote:
> Is std::queue thread-safe, or shall I use some synchronization
> facilities such as pthread_mutex to make sure my usage is thread-safe?


Depends on your usage. If you want multiple threads to read from/add to
the queue than you must, of course, synchronize access. BTW, not even
Java collections are locked down by default.

 
Reply With Quote
 
Me
Guest
Posts: n/a
 
      07-06-2005
> Is std::queue thread-safe, or shall I use some synchronization
> facilities such as pthread_mutex to make sure my usage is thread-safe?


The C++ standard doesn't say anything about threads. As with any C++
extension, check your compiler's documentation. I highly suggest you
consider using lock/wait free data structures instead, even if you
don't get the benifit of having an STL container class:

http://en.wikipedia.org/wiki/Lock-fr...ree_algorithms
http://appcore.home.comcast.net/
http://www.cs.chalmers.se/~noble/
http://www.cl.cam.ac.uk/Research/SRG/netos/lock-free/

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off




Advertisments
 



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57