多執行緒程式設計注意事項

2021-09-19 11:52:36 字數 468 閱讀 6845

1、明確目的,為什麼要使用多執行緒?如果是由於單執行緒讀寫或者網路訪問(例如http訪問網際網路)的瓶頸,可以考慮使用執行緒池。如果是對不同的資源(例如socket連線)進行管理,可以考慮多個執行緒。

2、執行緒使用中要注意,如何控制線程的排程和阻塞,例如利用事件的觸發來控制線程的排程和阻塞,也有用訊息來控制的。

3、執行緒中如果用到公共資源,一定要考慮公共資源的執行緒安全性。一般用lock鎖機制來控制線程安全性。一定要保證不要有死鎖機制。

4、合理使用sleep,何時sleep,sleep的大小要根據具體專案,做出合理安排。一般原則非阻塞狀態下每個迴圈都要有sleep,這樣保證減少執行緒對cpu的搶奪。每次執行緒的就緒和啟用都會占用一定得資源,如果執行緒體如果有多個迴圈,多處使用sleep將導致效能的下降。

5、執行緒的終止一般要使執行緒體在完成一件工作的情況下終止,一般不要直接使用拋出線程異常的方式終止執行緒。

6、執行緒的優先順序一定根據程式的需要要有個整體的規劃。

MFC多執行緒程式設計注意事項

視窗類視窗類是乙個結構,其乙個例項代表著乙個視窗型別,與c 中的類的概念非常相近 雖然其表現形式完全不同,c 的類只不過是記憶體布局和其上的操作這個概念的型別 故被稱作為視窗類。視窗是具有裝置操作能力的邏輯概念,即一種能操作裝置 通常是顯示器 的東西。由於視窗是視窗類的例項,就象c 中的乙個類的例項...

MFC多執行緒程式設計注意事項

1,表現 錯誤示例 關於啟動執行緒時傳輸視窗物件 指標?控制代碼?的問題 在選擇選單中的開始執行緒後 void cmainframe onmenu start 執行緒函式如下 uint mythread lpvoid pparam 問題一 這樣的 是不是有問題?文件中說執行緒間不能直接傳輸mfc物件...

多執行緒程式設計的注意事項

多執行緒程式設計的注意事項 1 明確目的,為什麼要使用多執行緒?如果是由於單執行緒讀寫或者網路訪問 例如http訪問網際網路 的瓶頸,可以考慮使用執行緒池。如果是對不同的資源 例如socket連線 進行管理,可以考慮多個執行緒。2 執行緒使用中要注意,如何控制線程的排程和阻塞,例如利用事件的觸發來控...