编者注:此代码示例来自 Rust 1.0 之前的版本,在语法上不是有效的 Rust 1.0 代码。
是否可以在 Rust 中的多个线程之间共享一个可变变量?鉴于以下情况:
fn main() {
let mut msg = "Hi";
// ...
msg = "Hello, World!";
do spawn {
println(msg);
}
do spawn {
println(msg);
}
}
我收到此错误:
该变量只需要对生成的线程是只读的。该变量必须是可变的,因为我真正想做的是在多个线程之间共享一个 HashMap。据我所知,除非它是可变的,否则无法填充 HashMap。即使有办法做到这一点,我仍然有兴趣知道如何完成这样的事情。
谢谢!