代码点读机 / Rust / Sync

Sync Rust · 常用Trait

线程间安全共享引用的标记 Trait;实现 Sync 的类型可以被多个线程同时通过引用访问。

怎么用

自动为大多数类型实现,用于标记可跨线程共享

小例子

use std::sync::Arc;
use std::thread;
let a = Arc::new(5);
let b = Arc::clone(&a);
thread::spawn(move || {
    println!("{}", b);
}).join().unwrap();

运行结果

5

提醒:非 mut static 的类型必须实现 Sync;Rc、Cell 不是 Sync

官方文档:https://doc.rust-lang.org/std/marker/trait.Sync.html

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