当多个线程异步访问同一变量时,无法保证这些线程执行的内存访问互为原子操作。一些依赖实现的因素和依赖应用程序的因素会对访问是否为原子操作产生影响。某些变量占用的内存空间可能比目标平台上最大的原子内存操作所占用的空间大。某些变量的存储方式可能是未对齐的或者其对齐方式是未知的,因此编译器或运行时系统可能需要使用多个 load/store 操作来访问变量。有时,使用多个 load/store 操作会让代码序列的运行速度更快。