Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

包装类型

Rust 有多种“包装“类型,例如 RefCellMutex,它们为值提供特殊的行为。 访问这些值可能需要花费不可忽略的时间。如果多个这样的值通常一起被访问,将它们放在 单个包装器内可能会更好。

例如,像这样的 struct:

#![allow(unused)]
fn main() {
use std::sync::{Arc, Mutex};
struct S {
    x: Arc<Mutex<u32>>,
    y: Arc<Mutex<u32>>,
}
}

也许更好的表示方式是这样:

#![allow(unused)]
fn main() {
use std::sync::{Arc, Mutex};
struct S {
    xy: Arc<Mutex<(u32, u32)>>,
}
}

这是否有助于提升性能将取决于值的具体访问模式。 示例.