spin操作
- x86平台,使用pause or rep;nop来实现自旋操作。
define SPIN() __asm__ __volatile__("pause") define SPIN() __asm__ __volatile__(" rep; nop \n");
- AArch64,可使用nop实现类似的操作。
define __nops(n) ".rept" n"\nnop\n.endr\n" define SPIN(n) asm volatile(__nops(n))
父主题: 常见原子操作(C语言)