Вообще говоря, когда вы выполняете работу с интенсивным вводом-выводом, при которой нагрузка на процессор практически отсутствует, лучше использовать неблокирующую или асинхронную работу.Однако, когда операции являются и требуют значительных ресурсов процессора, многопоточная модель имеет больше смысла.
Причина этого проста: обычно плохая идея блокировать цикл обработки событий дляболее длительные периоды времени - как это происходит при использовании асинхронной модели для вычислений с большой нагрузкой на процессор.
Когда вы начинаете блокировать цикл обработки событий, такие вещи, как таймеры, ведут себя не так, как должны, поскольку они могут запускаться только один развы возвращаете управление в цикл событий.Обычно это не то, что вы хотите.