修改示例 16-15处的不通顺的表述

This commit is contained in:
luoxiangyong 2018-03-01 09:04:07 +08:00 committed by GitHub
parent 786803de42
commit 2b1d11e56e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -245,7 +245,7 @@ counter:std::rc::Rc<std::sync::Mutex<i32>>]`
你可能会好奇为什么不是所有的原始类型都是原子性的?为什么不是所有标准库中的类型都默认使用 `Arc<T>` 实现?原因在于线程安全带有性能惩罚,我们希望只在必要时才为此买单。如果只是在单线程中对值进行操作,原子性提供的保证并无必要,代码可以因此运行的更快。 你可能会好奇为什么不是所有的原始类型都是原子性的?为什么不是所有标准库中的类型都默认使用 `Arc<T>` 实现?原因在于线程安全带有性能惩罚,我们希望只在必要时才为此买单。如果只是在单线程中对值进行操作,原子性提供的保证并无必要,代码可以因此运行的更快。
回到之前的例子:`Arc<T>` 和 `Rc<T>` 有着相同的 API所以修改程序修改 `use` 行和 `new` 调用。示例 16-15 中的代码最终可以编译和运行: 回到之前的例子:`Arc<T>` 和 `Rc<T>` 有着相同的 API所以修改程序中的 `use` 行和 `new` 调用。示例 16-15 中的代码最终可以编译和运行:
<span class="filename">文件名: src/main.rs</span> <span class="filename">文件名: src/main.rs</span>