Russian Qt Forum
Март 29, 2024, 17:50 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Много процессов или много потоков?  (Прочитано 3763 раз)
qtkoder777
Частый гость
***
Offline Offline

Сообщений: 245


Просмотр профиля
« : Октябрь 01, 2017, 16:27 »

Задача с собеседования.
Когда следует предпочесть многопроцессную архитектуру многопоточной?
На первый взгляд у процесса нет преимуществ перед потоком: лишние накладные расходы для ОС, сложнее организуется взаимодействие между процессами.
Тем не менее в браузерах каждая вкладка выполняется в отдельном процессе. Чем обусловлен такой выбор?
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #1 : Октябрь 01, 2017, 16:46 »

Цитировать
Тем не менее в браузерах каждая вкладка выполняется в отдельном процессе. Чем обусловлен такой выбор?
Единственный браузер, который для каждой вкладки создавал отдельный процесс, который я знаю это Гугл Хром

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

Bepec
Гость
« Ответ #2 : Октябрь 01, 2017, 18:24 »

Завис процесс - убил процесс - запустил новый процесс.

Завис поток - ты его уговариваешь умереть - он не дохнет - ты ему exit шлёшь - он не дохнет - ты плюёшь и просто делаешь ему terminate и он, в последних ковульсиях крашит весь процесс браузера Веселый
Записан
Rododendron
Гость
« Ответ #3 : Ноябрь 28, 2017, 10:54 »

Многопроцессорную архитектуру не всегда можно организовать через shared memory. Если данные не структурированы, их не передашь куском памяти, контейнеры передавать можно только между потоками. Но мне видится так: если есть возможность разделять на процессы, то лучше ей пользоваться.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.048 секунд. Запросов: 23.