I got a question about the boost::interprocess::allocators. I am a little confused as to when to use the standard shared memory allocator, and when to use node_allocator, or any of the other ones.
What's the advantage and disadvantage of each? I read through the documentation, but it's not making a whole lot of sense.
I am mainly using the allocators with the spsc_queue to transfer objects around, which may contain vectors floats or strings.
One thing also confused me a little is that the non-standard shared memory allocators are all marked as not thread safe? I am not sure what does this mean. I assume these allocators will be interprocess safe? As in, I don't need to lock the shared memory to allocate memory, right? Maybe it means I can't share these allocators between threads in the same process?