Intrusive containers have thread safety guarantees similar to STL containers.
Some Intrusive hooks (auto-unlink hooks, for example) modify containers without having a reference to them: this is considered a write access to the container.
Other functions, like checking if an object is already inserted in a container
using the Since the same object can be inserted in several containers at the same time using different hooks, the thread safety of Boost.Intrusive is related to the containers and also to the object whose lifetime is manually managed by the user. As we can see, the analysis of the thread-safety of a program using Boost.Intrusive is harder than with non-intrusive containers. To analyze the thread safety, consider the following points:
|