Показать сообщение отдельно
Старый 11.10.2011, 23:59   #47
Boris A Dolgov
Академик
 
Аватар для Boris A Dolgov
 
Регистрация: 04.07.2007
Адрес: ISPlicense.ru
Сообщений: 2,599
Репутация: 129039
Отправить сообщение для Boris A Dolgov с помощью Skype™
Социальные сети Профиль на Хабрахабре

По умолчанию Re: Nginx - парадокс

Цитата:
т.е. нить = поток? Угу. Мало отличаются только переключением контекста. На переключение контекста тратится много ресурсов? =).
Если говорить языком операционной системы, thread = нить = поток, process = процесс. C точки зрения планировщика и переключения контестов (по крайней мере с очень маленькой погрешностью в linux и freebsd (так как не изменяется paging table)) thread = process, что делает переключение thread очень похожим по тяжести с переключением process. Но создание у thread намного проще чем у process, так как не нужно копировать кучу данных (не нужно говорить про cow, я говорю о структурах в ядре).
С точки зрения вебсервера можно говорить, что thread -- это нечто, имеющее свой стек и возможность блокироваться на системном вызове. Тогда process в некотором смысле тоже является thread. Тогда mpm_prefork и mpm с threads не сильно отличаются, так как требуют thread на соединение.
event-модель же требует наличия всего лишь одного thread на все соединения.
__________________
С уважением, Борис Долгов.
Администрирование, дешевые лицензии ISPsystem, Parallels, cPanel, DirectAdmin, скины, SSL - ISPlicense.ru
Boris A Dolgov вне форума   Ответить с цитированием