即使线程及其功能仅取决于应用程序,在确定嵌入式软件应用程序所需的线程数及其功能时,是否有一些通用技巧或最佳实践。
欢迎任何决策参数建议。
答案 0 :(得分:0)
通常,对于每个数据/事件源,将有一个负责将数据引入系统的线程。任何可能需要较长时间的处理工作都应放入一个线程中。系统的核心逻辑也应该在一个线程中。在这种设计方法中,线程服务于以下两个目的之一:卸载耗时的任务,以便核心系统快速平稳地响应;并封装一些组件逻辑,以便系统可以正确分区。
还有另一种观点认为线程数不应超过处理器核心数。在此设计视图中,线程通常是池中的通用处理单元。数据输入或事件将从池中传递给任何空闲线程以进行处理。处理完一个事件后,该线程将返回池并准备好接受下一个事件。这种方法通常由数据处理/信息技术/企业软件使用。在此设计中,线程不用作逻辑封装工具。