Что такое Tokio и Async I/O и зачем это нужно?
Сообщество Rust в последнее время сконцентрировало много своих усилий на асинхронном вводе/выводе, реализованном в виде библиотеки Tokio. И это замечательно.
Многим из участников сообщества, тем, которые не работали с веб-серверами и связанными с этим вещами, не ясно, чего же мы хотим добиться. Когда эти вещи обсуждались во времена версии 1.0, я тоже имел смутное представление об этом, никогда прежде не работав с этим раньше.
- Что это такое — Async I/O?
- Что такое корутины (coroutines)?
- Что такое легковесные нити (threads)?
- Что такое футуры? (futures)?
- Как они сочетаются между собой?
Рассмотрим модели многопоточности на примере Rust и Go.


Приветствую жителей Хабра!



Азат Мардан (Azat Mardan) — Tech Fellow, менеджер в компании 



