Тема: Node.js
Показать сообщение отдельно
  #15 (permalink)  
Старый 15.01.2010, 14:52
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от Kolyaj
не оффтопик
ну раз так, то продолжаем обмен мнениями)))
Сообщение от Kolyaj
Опять же, в стандартном режиме работы в PHP на каждый запрос новый поток. Поэтому пока, например, асинхронно читается файл с диска, потоку, по большому счету, делать нечего. Node.js же в это время обрабатывает другие запросы.
да, PHP этого не умеет.
на каждый запрос всегда создается либо отдельный поток(модуль), либо отдельный процесс(CGI)
fast-CGI (хотя он не совсем в тему к асинхронным возможностям Node.js) в PHP насколько я знаю не реализован и опция такая поставлена "для заглушки"
НО! Пока конкретный экземпляр скрипта простаивает в ожидании данных из файла, остальные потоки/процессы продолжают обрабатывать запросы, что обеспечивается многопоточностью самой ОС/веб-сервера
Использовать же один процесс для обработки нескольких запросов вперемешку(а не последовательно как в fast-CGI), считаю плохой идеей, по-крайней мере если нету эффективного инструмента для отделения глобальных переменных от переменных индивидуальных для каждого запроса.

в любом случае, использование асинхронности в PHP является достаточно нетипичным, и если уж используется, то как правило пока идет чтение файла(ов), можно делать(и нужно) какое-то полезное действие(обработка прочитанных блоков,действия не зависящие от файла)
Ответить с цитированием