Re: Is reading from std::vector thread safe?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Oct 2, 2008 at 13:47, Chris Hamons <chris.hamons@xxxxxxxxx> wrote:
> I've been told that in gcc 3.3, reading from std::string was not
> thread safe, and that in gcc 4.x it is now thread safe. Is this
> correct? Is it thread safe to iterate through a std::vector in gcc 3.3
> or gcc 4.x. I have not been able to find any documentation on what is
> and isn't threadsafe when it comes to stl and gcc.
>

In general, simultaneous reads of any std:: container are thread-safe.

However, as soon as you want to use any mutating function on a
container, all read and write accesses need to be mutexed.  None of
them are lock-free.

For std::string, it's possible that it was ref-counted at some point,
which makes it harder to know which functions are mutating.

Not authoritative, but I hope it helps,
~ Scott

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux