daniiyang, document.save('test.docx') - это точно блокирующий вызов. Соответственно, никакой выгоды от вызове его в асинхронной функции вы не получаете, наоборот останавливаете цикл событий.
Эрнэст Фарукшин, я не вижу смысла использовать потоки вместе с мультиплексирвоанием, разве что ограниченный пул для неизбежно блокирующих операций. После того, как селектор разблокировался, нужно обработать все готовые сокеты и перейти к следующей итерации ожидания.
Эрнэст Фарукшин, если 10 000 человек одновременно отправят сообщения, то они будут ожидать I/O одинаковое время как при использовании потоков, так и при использовании асинхронности.
Владимир Коротенко, предлагать человеку читать "Искусство программирования" до изучения языка - всё равно, что предлагать ребёнку изучать высокий стиль в поэзии до того, как он выучит алфавит. А по поводу K&R...
document.save('test.docx')
- это точно блокирующий вызов. Соответственно, никакой выгоды от вызове его в асинхронной функции вы не получаете, наоборот останавливаете цикл событий.