From 05f3a90892c8bd9043bdd587c7954f63360a74d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A1=BB=E8=AF=AD?= Date: Thu, 29 May 2025 16:59:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E9=87=8D=E5=A4=8D=E6=96=87?= =?UTF-8?q?=E5=AD=97=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ch16-01-threads.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch16-01-threads.md b/src/ch16-01-threads.md index 715337b..836c37e 100644 --- a/src/ch16-01-threads.md +++ b/src/ch16-01-threads.md @@ -141,7 +141,7 @@ Rust 会**推断**如何捕获 `v`,因为 `println!` 只需要 `v` 的引用 示例 16-4: 一个具有闭包的线程,尝试使用一个在主线程中被回收的引用 `v` -如果 Rust 允许这段代码运行,则新建线程则可能会立刻被转移到后台并完全没有机会运行。新建线程内部有一个 `v` 的引用,不过主线程立刻就使用第十五章讨论的 `drop` 丢弃了 `v`。接着当新建线程开始执行,`v` 已不再有效,所以其引用也是无效的。噢,这太糟了! +如果 Rust 允许这段代码运行,则新建线程可能会立刻被转移到后台并完全没有机会运行。新建线程内部有一个 `v` 的引用,不过主线程立刻就使用第十五章讨论的 `drop` 丢弃了 `v`。接着当新建线程开始执行,`v` 已不再有效,所以其引用也是无效的。噢,这太糟了! 为了修复示例 16-3 的编译错误,我们可以听取错误信息的建议: