Skip to content

Commit

Permalink
Merge pull request #141 from xxshady/patch-1
Browse files Browse the repository at this point in the history
Update async/await chapter
  • Loading branch information
ava57r authored Nov 1, 2023
2 parents ff4e52b + 10b1d05 commit b60b2ef
Showing 1 changed file with 2 additions and 2 deletions.
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

0 comments on commit b60b2ef

Please sign in to comment.