c++ 标准是否保证使用 std::allocator 构造不同的元素是线程安全的?例如:
// main thread
std::allocator<T> alloc;
auto *p = alloc.allocate(2);
// thread1
alloc.construct(p);
// thread2
alloc.construct(p + 1)
另外,对于不同的元素, std::allocator::destroy 线程安全吗?
谢谢!
最佳答案
所以是的,在 construct
上并发调用 destroy
和 std::allocator<T>
保证是线程安全的。
关于c++ - 在构造不同的元素时, 'std::allocator<T>::construct' 是线程安全的吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36540378/