在使用linux作为应用程序的嵌入式系统中;在什么条件下,您将应用程序分为两个/三个进程。我的主要疑问是;是否需要将单个应用程序组件划分为多个进程,然后运行多个进程以实现所需的应用程序功能。
答案 0 :(得分:2)
根据经验,我倾向于隔离可能有问题的代码片段。例如,如果您依赖于您不信任的第三方库附带的传感器,那么将其作为一个单独的过程将使您的应用程序更加强大和容错,因为您(希望)能够(仅希望)重新启动部件它的。
另外,为了集成,它可能更容易。假设您的流程A运行正常,那么您可以轻松插入流程B,而不是向流程A添加新零件。它现在可能不是一个很大的优点,但它在很大程度上取决于您的项目。
然而,它确实带来了一些开销,因为处理同步和消息传递可能会更复杂并且会增加设计。然而,您不必做任何类似的事情。
答案 1 :(得分:0)
您没有详细说明导致您提出问题的情况,因此我只能猜出您感兴趣的答案类型。
Linux提供多线程功能,因此可以在没有多个进程的情况下完成并发编程。
很少有功能性的理由将应用程序的整体组件划分为进程。
我的建议是编写一个单进程应用程序。如果需求出现,那就是:问题只能通过在单独的进程中管理运行时资源来解决,您仍然可以承担解决进程间通信和资源共享的繁重工作,而无需在业务逻辑中进行太多改动。