Update shared-state.md

Mutex书写错误
pull/336/head
sope 3 years ago committed by GitHub
parent 90e2a206f1
commit b01c3e91dc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -66,7 +66,7 @@ async fn main() {
#### 为何使用 `std::sync::Mutex` #### 为何使用 `std::sync::Mutex`
上面代码还有一点非常重要,那就是我们使用了 `std::sync::Mutex` 来保护 `HashMap`,而不是使用 `tokio::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<i32>) {
do_something_async().await; do_something_async().await;
} // 锁在这里被释放 } // 锁在这里被释放
``` ```

Loading…
Cancel
Save