除了常规的多线程并发之外,同时还会介绍一些与 Rust 相关的并发编程技巧。
简介
其它
Send VS. Sync
这两个 Marker Trait 是 Rust 中并发编程的关键:
Send
可以在线程间安全传递其所有权。Sync
可以在线程间通过引用安全共享。
某个类型能在线程间安全共享的前提是,指向它的引用必须能在线程间传递,显然,如果引用都不能传递,那么就无法在多线程中通过引用访问同一个数据了。也就是说,当 &T
是 Send
,那么 T
是 Sync
了。
除了常规的多线程并发之外,同时还会介绍一些与 Rust 相关的并发编程技巧。
这两个 Marker Trait 是 Rust 中并发编程的关键:
Send
可以在线程间安全传递其所有权。Sync
可以在线程间通过引用安全共享。某个类型能在线程间安全共享的前提是,指向它的引用必须能在线程间传递,显然,如果引用都不能传递,那么就无法在多线程中通过引用访问同一个数据了。也就是说,当 &T
是 Send
,那么 T
是 Sync
了。