标签: c++ multithreading shared-libraries
我最近了解到, std :: shared_ptr 中的计数器必须是原子的才能保证线程安全,这是反对使用它的一个重要论据。并行依赖的其他示例是内存分配。
是否有可靠的方法来检测已编译程序中的并行依赖项,即识别并行争用的可能性?
更确切地说,如果在串行上下文中使用 std :: shared_ptr 而不可能共享,那么我认为编译器会删除原子,但是如何确定?< / p>