2015-04-21 61 views
2

儘管線程數量及其功能完全取決於應用程序,但在確定嵌入式軟件應用程序所需的線程數量及其功能時是否有一些通用技巧或最佳實踐。識別嵌入式軟件設計中的線程

歡迎任何決定參數的建議。

回答

0

通常對於每個數據/事件源,將有一個線程負責將數據帶入系統。任何可能需要較長時間的處理工作都應放入一個線程中。系統的核心邏輯也應該在一個線程中。在這種設計方法中,線程服務於以下兩個目的之一:減輕耗時的任務,使核心系統快速而平穩地響應;並封裝一些組件邏輯,以便系統可以正確分區。

還有另一種觀點認爲線程數量不應超過處理器內核的數量。在這個設計視圖中,線程通常是池中的通用處理單元。數據輸入或事件將傳遞給池中的任何空閒線程進行處理。處理完一個事件後,線程將返回到池並準備好接下一個事件。這種方法通常由數據處理/信息技術/企業軟件使用。在這種設計中,線程不能作爲邏輯封裝工具。

+0

感謝您的回覆,但我不認爲「還有另一種觀點認爲線程數量不應超過處理器內核數量。」是正確的,因爲我們正在討論關於多線程編程而不是多核編程 –