Асинхронні канали
Кілька крейтів підтримують асинхронні канали. Наприклад tokio
:
Speaker Notes
This slide should take about 8 minutes.
-
Змініть розмір каналу на
3
і подивіться, як це вплине на виконання. -
Загалом, інтерфейс подібний до каналів
sync
, які ми бачили в ранковому класі. -
Спробуйте видалити виклик
std::mem::drop
. Що сталося? Чому? -
Крейт Flume має канали, які реалізують як
sync
, так іasync
send
іrecv
. Це може бути зручно для складних програм, що використовують як ввід-вивід, так і важкі процесорні завдання. -
Що робить роботу з
async
каналами більш кращою, так це можливість комбінувати їх з іншимиfuture
, щоб об’єднувати їх і створювати складні потоки управління.