【发布时间】:2012-06-23 22:37:58
【问题描述】:
【问题讨论】:
-
您可能希望将 atomic_flag 与默认内存顺序一起使用。它没有数据竞争,也不会像 mutex 那样在多次解锁调用时抛出异常(并且无法控制地中止,我可能会添加......)。或者,有 atomic(例如 atomic[bool] 或 atomic[int](带三角括号,而不是 [])),它具有很好的函数,如 load 和 compare_exchange_strong。 cplusplus.com/reference/atomic/atomic_flagcplusplus.com/reference/atomic/atomic
-
同样
mutex可能使用操作系统本机互斥锁来实现,那么不定义不同操作系统上可能有什么不同是有意义的,以便std::mutex可以成为围绕操作系统提供的薄包装器互斥体。
标签: c++ c++11 mutex undefined-behavior