【发布时间】:2015-06-28 08:09:29
【问题描述】:
尽管线程数及其功能仅取决于应用程序,但在确定嵌入式软件应用程序所需的线程数及其功能时,是否有一些通用技巧或最佳实践可用。
欢迎任何决策参数建议。
【问题讨论】:
标签: multithreading architecture task software-design
尽管线程数及其功能仅取决于应用程序,但在确定嵌入式软件应用程序所需的线程数及其功能时,是否有一些通用技巧或最佳实践可用。
欢迎任何决策参数建议。
【问题讨论】:
标签: multithreading architecture task software-design
通常对于每个数据/事件源,都会有一个线程负责将数据引入系统。任何可能需要较长时间的处理工作都应该放在一个线程中。系统的核心逻辑也应该在一个线程中。在这种设计方法中,线程服务于两个目的之一:卸载耗时的任务,以便核心系统快速、平稳地响应;并封装一些组件逻辑,以便系统可以正确分区。
还有另一种观点认为线程数不应该超过处理器核心数。在这种设计视图中,线程通常是池中的通用处理单元。数据输入或事件将被传递给池中的任何空闲线程以进行处理。处理完一个事件后,线程会回到池中并准备好接受下一个事件。这种方法通常由数据处理/信息技术/企业软件使用。在此设计中,线程不用作逻辑封装工具。
【讨论】: