Является ли текущая загрузка в браузерах дочерним процессом или потоком? [закрыто]


0

Меня попросили привести пример взаимоотношений между родителями и дочерними процессами, и я знаю следующее: Родительский процесс контролирует и ограничивает дочерний процесс, он может завершить или запустить его, но это не произойдет наоборот. Почему я могу или не могу рассматривать процесс загрузки в браузере как дочерний процесс. Если браузер выключен, значит, загрузка тоже. Но что, если это нить?


Вы можете проверить имеющуюся у вас гипотезу процесса, начав загрузку в браузере и проверив наличие нового дочернего процесса. Тем не менее, современные браузеры являются многопроцессорными, поэтому вы можете использовать это как пример родительских и дочерних процессов.
dsstorefile1

Ответы:


4

Это зависит от реализации. Вполне возможно, что некоторые браузеры запускают каждую загрузку в своем собственном процессе. В этом случае у вас будет классический пример отношения родитель-ребенок-процесс. Некоторые браузеры запускают каждую вкладку в дочернем процессе, поэтому, если одна вкладка выходит из строя, другие вкладки продолжают работать. Это также основной пример клиент-дочерних процессов.

Но более вероятно, что загрузки выполняются в потоке, а не в его собственном процессе, потому что было бы неэффективно создавать собственный процесс для чего-то столь же простого, как загрузка HTTP. Вы также можете проверить это поведение для веб-браузеров, которые вы используете, запустив несколько загрузок и посмотрев в выбранном менеджере процессов любые новые дочерние процессы.


Почему я предпочитаю запускать вкладку внутри дочернего элемента, если она тоже может быть потоком? Если поток случайно остановился, он все равно не сможет «сердиться» на основной процесс.
Giorgi Gvimradze

1
Это дизайнерское решение. Конечно, вы могли бы также реализовать каждую вкладку в своем собственном потоке вместо каждой в своем собственном процессе. Google Chrome пошел на процессы, Firefox пошел на потоки. Оценка плюсов и минусов каждого выбора выходит за рамки этого вопроса. Задайте свой вопрос, если вы заинтересованы :) Однако, вероятно, стоит прочитать Введение в Chrome в этом отношении.
LukeLR
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.