我对以下场景有一般架构级别的问题。
我的产品中有很多子系统,比如组件。
将每个子系统保持为一个单独的进程是否合适?或者将所有子系统保存在单个进程中的单独线程中是否合适?
我所有的子系统都会相互交互,以便互相提供/获取数据。
答案 0 :(得分:0)
线程问题是为了安全地在它们之间直接传递数据,你需要在它们之间进行某种形式的同步。经常这样做,你将消除使用多个线程可能带来的任何好处。
我自己的做法是不使用线程,除非有绝对需要。如果我与串行或网络设备之类的硬件接口,我通常会使用更多线程,因为这会大大降低系统响应速度。
我倾向于遵循一个规则,即线程应该能够独立运行,与任何其他代码的交互很少(如果有的话)。如果一段代码严重依赖于另一段代码,则不应将它们放在单独的线程中。
您应该设计一个首先运行的系统(通过将子系统代码放在不同的库中),然后如果性能是一个问题,请查看线程是否有任何好处。通过这种方式,您可以避免调试线程的麻烦,直到绝对必要。
他们说保持简单。
答案 1 :(得分:0)
没有充分理由或需要创建任务?只需使用一个帖子。