首先导入:
pub use std::sync::atomic::AtomicU64;
pub use std::sync::atomic::Ordering;
设置原子类型的全局变量:
static POSITION: AtomicU64 = AtomicU64::new(0);
这里我们定义了一个原子类型的u64变量POSITION,初始值设为0。如果想要对它进行加、减的话,需要:
//给全局变量加上111
POSITION.fetch_add(111, Ordering::SeqCst);
//给全局变量减去102
POSITION.fetch_sub(102, Ordering::SeqCst);
如果想要把全局变量POSITION赋给某个变量时,直接用变量名POSITION是不允许的,需要采用load方法:
let val = POSITION.load(Ordering::SeqCst);
网友评论