From 10b1d050bbdcbf4589595467cbdd88b51d86c537 Mon Sep 17 00:00:00 2001 From: xshady <54737754+xxshady@users.noreply.github.com> Date: Mon, 30 Oct 2023 01:07:19 +0300 Subject: [PATCH] Update async/await chapter --- async-book-ru/src/03_async_await/01_chapter.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/async-book-ru/src/03_async_await/01_chapter.md b/async-book-ru/src/03_async_await/01_chapter.md index 22ec826..dce5dd2 100644 --- a/async-book-ru/src/03_async_await/01_chapter.md +++ b/async-book-ru/src/03_async_await/01_chapter.md @@ -1,6 +1,6 @@ # `async`/`.await` -В [первой главе] мы бросили беглый взгляд на `async`/`.await` и использовали их чтобы построить простой сервер. В этой главе мы обсудим `async`/`.await` более подробно, объясняя, как они работают и чем `async`-код отличается от традиционных программ на Rust. +В [первой главе] мы бросили беглый взгляд на `async`/`.await`. В этой главе мы обсудим `async`/`.await` более подробно, объясняя, как они работают и чем `async`-код отличается от традиционных программ на Rust. `async`/`.await` - это специальный синтаксис Rust, который позволяет не блокировать поток, а передавать управление другому коду, пока ожидается завершение операции. @@ -49,4 +49,4 @@ Точно так же не очень хорошая идея держать традиционную non-futures-aware блокировку через `.await`, так как это может привести к блокировке пула потоков: одна задача может получить объект блокировки, вызвать `.await` и передать управление исполнителю, разрешив другой задаче совершить попытку взять блокировку, что вызовет взаимную блокировку. Чтобы избежать этого, используйте `Mutex` из `futures::lock`, а не из `std::sync`. -[первой главе]: ../01_getting_started/04_async_await_primer.md \ No newline at end of file +[первой главе]: ../01_getting_started/04_async_await_primer.md