rust中使用可变的全局变量

2021-11-12  本文已影响0人  梁帆

首先导入:

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);
上一篇 下一篇

猜你喜欢

热点阅读