Меня попросили привести пример взаимоотношений между родителями и дочерними процессами, и я знаю следующее: Родительский процесс контролирует и ограничивает дочерний процесс, он может завершить или запустить его, но это не произойдет наоборот. Почему я могу или не могу рассматривать процесс загрузки в браузере как дочерний процесс. Если браузер выключен, значит, загрузка тоже. Но что, если это нить?
browser
process
multi-threaded
Giorgi Gvimradze
источник
источник
Ответы:
Это зависит от реализации. Вполне возможно, что некоторые браузеры запускают каждую загрузку в своем собственном процессе. В этом случае у вас будет классический пример отношения родитель-ребенок-процесс. Некоторые браузеры запускают каждую вкладку в дочернем процессе, поэтому, если одна вкладка выходит из строя, другие вкладки продолжают работать. Это также основной пример клиент-дочерних процессов.
Но более вероятно, что загрузки выполняются в потоке, а не в его собственном процессе, потому что было бы неэффективно создавать собственный процесс для чего-то столь же простого, как загрузка HTTP. Вы также можете проверить это поведение для веб-браузеров, которые вы используете, запустив несколько загрузок и посмотрев в выбранном менеджере процессов любые новые дочерние процессы.
источник