【问题标题】:Identifying threads in embedded software design识别嵌入式软件设计中的线程
【发布时间】:2015-06-28 08:09:29
【问题描述】:

尽管线程数及其功能仅取决于应用程序,但在确定嵌入式软件应用程序所需的线程数及其功能时,是否有一些通用技巧或最佳实践可用。

欢迎任何决策参数建议。

【问题讨论】:

    标签: multithreading architecture task software-design


    【解决方案1】:

    通常对于每个数据/事件源,都会有一个线程负责将数据引入系统。任何可能需要较长时间的处理工作都应该放在一个线程中。系统的核心逻辑也应该在一个线程中。在这种设计方法中,线程服务于两个目的之一:卸载耗时的任务,以便核心系统快速、平稳地响应;并封装一些组件逻辑,以便系统可以正确分区。

    还有另一种观点认为线程数不应该超过处理器核心数。在这种设计视图中,线程通常是池中的通用处理单元。数据输入或事件将被传递给池中的任何空闲线程以进行处理。处理完一个事件后,线程会回到池中并准备好接受下一个事件。这种方法通常由数据处理/信息技术/企业软件使用。在此设计中,线程不用作逻辑封装工具。

    【讨论】:

    • 感谢回复,但我不认为“还有另一种观点说线程数不应超过处理器内核数。”是正确的,因为我们正在讨论多线程编程而不是多核编程
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-23
    • 2019-08-12
    相关资源
    最近更新 更多