编辑注:此代码示例来自 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。即使有一种方法可以做到这一点,我仍然对如何通常实现此类事情感兴趣。
谢谢!