没有围栏的C++ 0X memory_order,应用程序,支持的芯片

edA*_*a-y 5 c++ atomic memory-fences c++11

作为我上一个问题的后续内容,atomic<T>该类使用memory_order参数指定大多数操作.与围栏相比,此内存顺序仅影响其运行的原子.据推测,通过使用几个这样的原子,你可以构建一个并发算法,其他内存的排序是不重要的.

所以我有两个问题:

  1. 有人能指出一个算法/情况的例子,它可以从单个原子变量的排序中受益而不需要围栏吗?
  2. 哪种现代处理器支持这种行为?也就是说,编译器不会将特定顺序转换为普通围栏.