隨筆-295  評論-26  文章-1  trackbacks-0
          寫給c/c++的新同行門,CTO門把你們的寶貴經驗拿出來吧,讓這個帖對大伙有用

          1、越界

           越界是最難查的,注意memcpy strcpy,strncpy這些函數使用前一定要檢查邊界

           特別是你提供函數給別人用時,你的函數中用到了這些東西,一定要檢查別人傳給你的指針的
           邊界

          2、變量初始化

           這種問題要養成好習慣,否則出來偶然性問題,非常難查

          3、多線程指針管理

           在多線程環境下使用指針時,最好采用引用計數,讓最后一個放充引用計數時,指針刪除,避免一個線程在使用指針,另外線程刪除掉

          4、多線程鎖的管理

           多線程鎖要粒度要適中,盡量減少 一個函數 進入多個鎖,避免一個大函數一個大鎖影響性能,可學習數據庫的表級,行級鎖

           盡量不要在回調函數中放鎖,易 引起死鎖

          做到線程安全函數單向調用,上層往下層調用,下屋向上層采用事件驅動反饋,避免調用棧

           過深,易引起死鎖 

          5、多線程對象生存期管理

           盡量當多線程共享對象 盡量不要直接刪除,建議采用狀態機形式來管理,其它線程設置狀態

           由一個線程統一按狀態管理生存期

          6、構造函數

          函造函數中不要放虛函數,絕對不要在構造函數中開線程,并且線程調用自己的成員

          7、內聯
           
            虛函數不要內聯

          8、多線程創建辦法

          如果用C運行庫函數,要注意用C運行庫的方法

          9,內存管理

          建議采用內存池管理

          10、線程生存期管理

          線程中盡量不要調用同步函數,不要強行殺線程,要讓線程不斷循環,等待死亡信號自己退出



          大盤預測 國富論
          posted on 2010-05-08 19:30 華夢行 閱讀(232) 評論(0)  編輯  收藏 所屬分類: C
          主站蜘蛛池模板: 健康| 陆丰市| 根河市| 福州市| 麻栗坡县| 邵阳县| 富锦市| 尼木县| 清苑县| 五莲县| 青川县| 盘山县| 萍乡市| 荆州市| 古丈县| 宜州市| 威信县| 漾濞| 柞水县| 大理市| 雷波县| 罗江县| 安乡县| 邵武市| 兴和县| 东乡族自治县| 江北区| 上犹县| 股票| 昆山市| 沧源| 邹城市| 新疆| 华池县| 封丘县| 湟源县| 宜兰市| 绥化市| 将乐县| 永嘉县| 铅山县|