Асинхронность это кто?
Всем привет. Недавно изучал асинхронный код и решил попробовать донести до вас полученные информацию в более понятном формате.
Асинхронность - не совпадение с чем-либо во времени; неодномоментность, неодновременность, несинхронность — характеризует процессы, не совпадающие во времени. Термин используемый в специальной литературе, предназначенный для особого применения, в общем смысле, это состояние не являющееся синхронизированным.
Асинхронность в программировании — выполнение процесса в неблокирующем режиме системного вызова, что позволяет потоку программы продолжить обработку. Под столь мудреном выражением подразумевается, что произойдет некоторая операция, об окончании которой главный поток узнает лишь спустя какое-то время.
Попробую привести пример: вы проснулись утром, поставили чайник (задача 1) пока он кипит вы умываетесь (задача 2) умывшись вы услышали свист и выключили чайник (ответ задачи 1). Т. е поставив чайник вы не ждали пока он закипит, как бы ожидая ответа , а сразу пошли умываться , получив ответ (свист чайника) позже.
Вот какое определение дается в доках asyncio:
asyncio — это библиотека для написания параллельного кода с использованием синтаксиса async/await
Какая польза от асинхронного кода?
С помощью него пишут многозадачный код. Это позволяет выполнять больше тасков за меньший промежуток времени, что делает наш продукт эффективнее.
Пример? Напишите свой простенький синхронный регер и посмотрите сколько акков он будет делать в те же условные 10 минут. После возьмите регер в эту же тему у допустим Параноика и посмотрите сколько акков сделает его софт за тот же промежуток времени.
Данной статьей я хотел дать вам понимания асинка, более подробно вы можете изучить его сами, исходя из яп на котором работаете и ваших целей. Лично я не пожалел что потратил время на прочтение ряда статей и докапывание мужчин в чатах, т.к с асинком жить стало интереснее.