Один или несколько процессов, какие критерии решают это? - PullRequest
2 голосов
/ 21 апреля 2009

во встроенных системах, использующих Linux для приложения; при каких условиях вы разделите приложение на два / три процесса. Мое главное сомнение в том, требуется ли разделить один компонент приложения на несколько процессов, а затем запустить несколько процессов для достижения требуемой функциональности приложения.

Ответы [ 2 ]

2 голосов
/ 21 апреля 2009

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

Также для целей интеграции это может быть проще. Предположим, что ваш процесс A работает нормально, тогда вы можете легко подключить процесс B вместо добавления новых деталей в процесс A. Сейчас это может показаться не большим плюсом, но многое зависит от вашего проекта.

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

Однако вам не нужно делать ничего подобного.

0 голосов
/ 28 апреля 2009

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

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

Редко существует функциональная причина для разделения интегральных компонентов приложения на процессы.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...