内存屏障
为防止CPU指令重排,在并发编程中,需要显式的增加内存屏障。
- x86平台的内存屏障
define pg_memory_barrier_impl() \ __asm__ __volatile__ ("lock; addl $0,0(%%esp)" : : : "memory", "cc")
- AArch64平台
define pg_memory_barrier_impl() __atomic_thread_fence(__ATOMIC_SEQ_CST) define pg_memory_barrier_impl() __sync_synchronize()
父主题: 原子操作