From b01c3e91dccf1ded728a3d9bdeecc51c2adf1139 Mon Sep 17 00:00:00 2001 From: sope Date: Wed, 26 Jan 2022 19:41:46 +0800 Subject: [PATCH] Update shared-state.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Mutex书写错误 --- book/contents/tokio/shared-state.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/book/contents/tokio/shared-state.md b/book/contents/tokio/shared-state.md index d43f70a4..37ba3f95 100644 --- a/book/contents/tokio/shared-state.md +++ b/book/contents/tokio/shared-state.md @@ -66,7 +66,7 @@ async fn main() { #### 为何使用 `std::sync::Mutex` 上面代码还有一点非常重要,那就是我们使用了 `std::sync::Mutex` 来保护 `HashMap`,而不是使用 `tokio::sync::Mutex`。 -在使用 Tokio 编写异步代码时,一个常见的错误无条件地使用 `tokio::sync::Mutex` ,而真相是:Tokio 提供的异步锁只应该使用在 `.await`调用过程中,而且 `Tokio` 的 `Mutuex` 实际上内部使用的也是 `std::sync::Mutex`。 +在使用 Tokio 编写异步代码时,一个常见的错误无条件地使用 `tokio::sync::Mutex` ,而真相是:Tokio 提供的异步锁只应该使用在 `.await`调用过程中,而且 `Tokio` 的 `Mutex` 实际上内部使用的也是 `std::sync::Mutex`。 多补充几句,在异步代码中,关于锁的使用有以下经验之谈: @@ -260,4 +260,4 @@ async fn increment_and_do_stuff(mutex: &Mutex) { do_something_async().await; } // 锁在这里被释放 -``` \ No newline at end of file +```