C语言中如何利用原子操作实现内存次序和屏障功能?