|
|
@ -132,9 +132,7 @@ fn main() {
|
|
|
|
|
|
|
|
|
|
|
|
<span class="caption">示例 16-9: 在我们已经发送到通道中后,尝试使用 `val` 引用</span>
|
|
|
|
<span class="caption">示例 16-9: 在我们已经发送到通道中后,尝试使用 `val` 引用</span>
|
|
|
|
|
|
|
|
|
|
|
|
这里尝试在通过 `tx.send` 发送 `val` 到通道中之后将其打印出来。允许这么做是一个坏主意:一旦将值发送到另一个线程后,那个线程可能会在我们再次使用它之前就将其修改或者丢弃。这会由于不一致或不存在的数据而导致错误或意外的结果。
|
|
|
|
这里尝试在通过 `tx.send` 发送 `val` 到通道中之后将其打印出来。允许这么做是一个坏主意:一旦将值发送到另一个线程后,那个线程可能会在我们再次使用它之前就将其修改或者丢弃。其他线程对值可能的修改会由于不一致或不存在的数据而导致错误或意外的结果。然而,尝试编译示例 16-9 的代码时,Rust 会给出一个错误:
|
|
|
|
|
|
|
|
|
|
|
|
这是一个坏主意:一旦将值发送到另一个线程后,那个线程可能会在我们再次使用它之前就将其修改或者丢弃。其他线程对值可能的修改会由于不一致或不存在的数据而导致错误或意外的结果。然而,尝试编译示例 16-9 的代码时,Rust 会给出一个错误:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
```text
|
|
|
|
error[E0382]: use of moved value: `val`
|
|
|
|
error[E0382]: use of moved value: `val`
|
|
|
|