Russian Qt Forum

Qt => Общие вопросы => Тема начата: qtkoder777 от Октябрь 01, 2017, 16:27



Название: Много процессов или много потоков?
Отправлено: qtkoder777 от Октябрь 01, 2017, 16:27
Задача с собеседования.
Когда следует предпочесть многопроцессную архитектуру многопоточной?
На первый взгляд у процесса нет преимуществ перед потоком: лишние накладные расходы для ОС, сложнее организуется взаимодействие между процессами.
Тем не менее в браузерах каждая вкладка выполняется в отдельном процессе. Чем обусловлен такой выбор?


Название: Re: Много процессов или много потоков?
Отправлено: gil9red от Октябрь 01, 2017, 16:46
Цитировать
Тем не менее в браузерах каждая вкладка выполняется в отдельном процессе. Чем обусловлен такой выбор?
Единственный браузер, который для каждой вкладки создавал отдельный процесс, который я знаю это Гугл Хром

Цитировать
Чем обусловлен такой выбор?
Думаю, процесс легче убить, чем поток, чтобы приложение дальше работало как не бывало


Название: Re: Много процессов или много потоков?
Отправлено: Bepec от Октябрь 01, 2017, 18:24
Завис процесс - убил процесс - запустил новый процесс.

Завис поток - ты его уговариваешь умереть - он не дохнет - ты ему exit шлёшь - он не дохнет - ты плюёшь и просто делаешь ему terminate и он, в последних ковульсиях крашит весь процесс браузера :D


Название: Re: Много процессов или много потоков?
Отправлено: Rododendron от Ноябрь 28, 2017, 10:54
Многопроцессорную архитектуру не всегда можно организовать через shared memory. Если данные не структурированы, их не передашь куском памяти, контейнеры передавать можно только между потоками. Но мне видится так: если есть возможность разделять на процессы, то лучше ей пользоваться.