Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions async-book-ru/src/03_async_await/01_chapter.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# `async`/`.await`

В [первой главе] мы бросили беглый взгляд на `async`/`.await` и использовали их чтобы построить простой сервер. В этой главе мы обсудим `async`/`.await` более подробно, объясняя, как они работают и чем `async`-код отличается от традиционных программ на Rust.
В [первой главе] мы бросили беглый взгляд на `async`/`.await`. В этой главе мы обсудим `async`/`.await` более подробно, объясняя, как они работают и чем `async`-код отличается от традиционных программ на Rust.

`async`/`.await` - это специальный синтаксис Rust, который позволяет не блокировать поток, а передавать управление другому коду, пока ожидается завершение операции.

Expand Down Expand Up @@ -49,4 +49,4 @@
Точно так же не очень хорошая идея держать традиционную non-futures-aware блокировку через `.await`, так как это может привести к блокировке пула потоков: одна задача может получить объект блокировки, вызвать `.await` и передать управление исполнителю, разрешив другой задаче совершить попытку взять блокировку, что вызовет взаимную блокировку. Чтобы избежать этого, используйте `Mutex` из `futures::lock`, а не из `std::sync`.


[первой главе]: ../01_getting_started/04_async_await_primer.md
[первой главе]: ../01_getting_started/04_async_await_primer.md