node.js против asp.net асинхронных страниц - PullRequest
6 голосов
/ 13 августа 2011

все еще пытается понять node.js ...

  1. Если я применяю асинхронный шаблон asp.net для каждой операции ввода-вывода и настраиваю maxWorkerThreads = 1, он (концептуально) похож на node.js?

  2. Выполняется ли операция ввода-вывода (в любой среде) в своем собственном потоке или есть некоторые функции ОС для получения уведомлений / легкого потока?

  3. этот поток SO говорит, что node.js по-прежнему использует потоки внутри, так что это не такая большая разница с asp.net. В некоторых ответах да, но это лучшая модель программирования и т. Д. К каким потокам относится этот вопрос, облегченные операции ввода-вывода, подобные тем, которые я задавал в # 2?

1 Ответ

6 голосов
/ 13 августа 2011
  1. См. Этот же вопрос

  2. Что касается операций ввода-вывода, которые зависят от конкретной реализации. бэкэнд linux использует libev, а бэкэнд windows использует IOCP. Смотрите это видео об асинхронных деталях ввода / вывода для Windows / Linux

  3. node.js использует только потоки внутри, потому что у linux нет асинхронной системы ввода-вывода (как в Windows с IOCP). Таким образом, чтобы сделать возможным асинхронный ввод-вывод, вам необходим внутренний пул потоков. Смотрите видео.

...