Pull to refresh

Comments 5

Если всё равно нужен nginx — подумал я, не лучше ли сразу взять nginx unit

странная логика, это два совершенно разных проекта

Я написал отчасти в шутку, но эти проекты не такие разные, как Вы думаете :)

выполняя все функции с синхронным I/O в отдельном потоке

Я не совсем понял - поток же быстро "застрянет"? Одна блокирующая операция на несколько секунд заставит все остальные ждать. И так быстро дойдет до сотен секунд. Почему один поток для синхронных операций? Почему много потоков для асинхронных операций? Наоборот же.

Резюмируя: есть веские причины обрабатывать всю синхронную нагрузку вне асинхронных потоков

Множественное число у асинхронных потоков - почему? Асинхронность - про один тред с event loop и прочим, если мы про async, а не более глобально(параллельность).

Может произошла коллизия терминов, и вы имели ввиду под "потоками" не Thread из ОС, а в целом нечто абстрактное как "работа". Но думаю, если вы про Threads, то что-то странное написано...

Я никоим образом не хотел сказать, что "синхронный" поток только один. "исполняя в отдельном потоке" - я просто имел в виду, что не в том же самом. Коллизии терминов нет, я имею в виду использование thread pool для выполнения синхронных функций - треды обычные, системные. Что касается множественного числа асинхронных потоков - ну конечно, их может быть несколько. Каждый в своём процессе, у каждого свой event loop. Запустив несколько асинхронных воркеров, Вы сможете лучше использовать возможности Вашей многоядерной системы. Иногда имеет смысл иметь только один асинхронный поток - когда он хранит что-то в памяти, например, список соединений

Да, тогда понятно. Ну я бы отредактировал, а то неоднозначно можно воспринять текст.

Про множественное число асинхронных потоков я удивился в контексте одного процесса - зачем, это лишь оверхед. Если в разных воркерах/процессах - конечно, там все "отдельное".

Sign up to leave a comment.

Articles