它具有一个这里暂时没有说明的细节:可以将调用它的线程(warp)暂停一段时间, 直到该线程(warp)进行的访存写入,完成到某个级别。然后才能继续该线程(warp)的执行。...通俗的说, 就是将threadfence系列函数前后的访存隔离开, 编译器不会跨越threadfence的边界, 重新调整访存语句的顺序,来在保持安全和逻辑正确的前提下, 进行性能优化。...在本章节最后的例子种, 该关键字不可缺少.软件上的作用, 也是类似threadfence函数一样, 会发生编译器行为上的控制和变化:这点实际上是大家都很熟悉的。...从而错过了刚刚SM 10上(的线程)写入的新值,而此时, 有了volatile关键字, 编译器会在遭遇到后, 不仅仅不使用刚才(1)点所说的情况, 而会重新发出一次访存,同时还会控制访存指令的cache...在目前版本的手册说明上, 它还同时具有之前地__threadfence_block的效果(例如硬件的访存写入生效性控制, 或者编译器类似在fence前后的语句顺序调整安排).因此在常见的情况下, block