代码点读机 / Rust / Mutex

Mutex Rust · 常用类型

互斥锁,保护数据在同一时刻只被一个线程访问,防止数据竞争。

怎么用

let 变量 = Mutex::new(值); 用 .lock() 加锁,用于多线程安全访问

小例子

use std::sync::Mutex;
let m = Mutex::new(5);
*m.lock().unwrap() += 1;
println!("{}", m.lock().unwrap());

运行结果

6

提醒:lock() 返回 Result,出错说明锁已被污染;要跨线程需配合 Arc

官方文档:https://doc.rust-lang.org/std/sync/struct.Mutex.html

在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← Rust全部词条