Boost logo

Boost Users :

Subject: Re: [Boost-users] multi_index: thread safety
From: Matwey V. Kornilov (matwey.kornilov_at_[hidden])
Date: 2015-03-08 12:51:46


08.03.2015 18:06, Joaquin M Lopez Munoz пишет:
> Matwey V. Kornilov <matwey.kornilov <at> gmail.com> writes:
>
>>
>> Hi,
>>
>> I have a multi_index container and would like to make concurrent READs.
>> Is it thread-safe? I mean that there could be mutable members inside the
>> object, so calling formally const functions leaded to concurrent writes.
>
> Adding to Ernest's answer: if your formally const function changes the
> value of some mutable data member, then concurrent access is NOT safe.
> For instance:
>
> struct X
> {
> int x;
> mutable std::size_t count;
>
> int get_x()const
> {
> ++count;
> return x;
> }
> };
>
> Concurrent execution of X::get_x is not safe. This has nothing to do
> with Boost.MultiIndex, by the way; if your problem is different please
> answer back.

Yes, It is clear to me. This is why I asked if there any mutable inside
MultiIndex.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net