青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

fengyue

CString不是線程安全的

我們用MFC開發時經常會用到CString類,無可否認,CString類是很好用,但很少人注意到CString類不是線程安全的。一般地,界面編程都是在主線程,很少用到多線程,所以不會遇到什么問題。但是,當我們多個線程同時操作同一個CString類型變量時,就可能會出現內存地址錯誤,最終導致進程異常退出。內存錯誤導致的問題也很難調查,通常導致內存錯誤的地方沒有馬上報異常,而且在程序的其他地方才捕獲異常。
CString類的Debug版本和Release版本不完全一樣,Debug版本則直接分配(MFC在Debug版本有內存管理,主要是為了排錯,內存泄漏等),CString類在Release版本會使用定長內存管理(CFixedAlloc類),主要管理是4個長度的內存,如下:
1AFX_STATIC CFixedAlloc _afxAlloc64(ROUND4(65*sizeof(TCHAR)+sizeof(CStringData)));
2AFX_STATIC CFixedAlloc _afxAlloc128(ROUND4(129*sizeof(TCHAR)+sizeof(CStringData)));
3AFX_STATIC CFixedAlloc _afxAlloc256(ROUND4(257*sizeof(TCHAR)+sizeof(CStringData)));
4AFX_STATIC CFixedAlloc _afxAlloc512(ROUND4(513*sizeof(TCHAR)+sizeof(CStringData)));
這樣做應該是防止內存碎片和提高效率,由于CString類都會重用分配的定長內存,所以一般異常的地方大多數也是在CString操作的地方。有興趣可以看看CString類的實現。
避免這樣的問題最簡單的辦法就是加鎖或者不用CString類。加鎖用臨界區就可以,實現比較簡單,在這里不多說。

posted on 2011-11-24 10:58 風悅 閱讀(2967) 評論(5)  編輯 收藏 引用 所屬分類: C/C++

Feedback

# re: CString不是線程安全的 2011-11-24 11:37 陳梓瀚(vczh)

用std::wstring  回復  更多評論   

# re: CString不是線程安全的 2011-11-24 11:51 mtian

MFC,STL這種類庫一般都不是線程安全的,畢竟內部加鎖是會降低效率的  回復  更多評論   

# re: CString不是線程安全的[未登錄] 2011-11-24 11:59 陳梓瀚(vczh)

@mtian
但是cout是線程安全的——不過如果非要用一個線程安全的string,就得學C#,它的string是生成后不可修改的。哪怕是你insert,都會搞出一個新string。不過因為有CLR的關系,這個效率比C++的那種傳統模式還要好。  回復  更多評論   

# re: CString不是線程安全的 2011-11-26 23:59 Benjamin

http://msdn.microsoft.com/zh-cn/library/cc438572(v=VS.71).aspx,MSDN很早都有說明:“對于大量使用字符串的代碼(或多線程代碼),默認的內存管理器可能就無法理想地工作?!?nbsp; 回復  更多評論   

# re: CString不是線程安全的 2011-11-29 22:37 王繼

std::wstring一樣線程不安全,更郁悶的是VS自帶的WTL,居然不能在dll函數參數中傳來傳去,否則內存泄露.boost可以的.  回復  更多評論   

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            免费一级欧美片在线播放| 亚洲欧美国产毛片在线| 欧美91大片| 另类尿喷潮videofree | 噜噜噜躁狠狠躁狠狠精品视频| 一区二区在线视频播放| 久久婷婷色综合| 老司机午夜精品视频| 亚洲美女av在线播放| 9色porny自拍视频一区二区| 国产精品毛片大码女人| 久久久久久久久久久一区| 美女诱惑一区| 亚洲欧美日韩国产成人精品影院| 西瓜成人精品人成网站| 在线观看一区二区视频| 日韩亚洲一区在线播放| 久久综合久色欧美综合狠狠| 欧美粗暴jizz性欧美20| 性欧美1819性猛交| 久久人人97超碰精品888| 亚洲精品男同| 欧美一区在线视频| 日韩一区二区精品视频| 性做久久久久久久久| 亚洲精品视频免费在线观看| 亚洲视频欧美在线| 91久久极品少妇xxxxⅹ软件| 亚洲一二三区在线| 亚洲精选中文字幕| 久久av资源网| 亚洲欧美变态国产另类| 另类尿喷潮videofree| 亚洲欧美日本精品| 欧美激情一区二区在线 | 欧美一区二区视频免费观看| 麻豆国产精品va在线观看不卡| 性做久久久久久免费观看欧美| 欧美插天视频在线播放| 久久久噜久噜久久综合| 国产精品三上| 日韩午夜精品视频| 最新国产成人av网站网址麻豆| 欧美在线一二三四区| 午夜久久久久久| 欧美日韩在线免费观看| 亚洲国产高清一区| 国产一区二区高清| 欧美亚洲三级| 国产精品夜夜夜一区二区三区尤| 亚洲高清免费| 亚洲色诱最新| 亚洲美女黄网| 欧美xx视频| 亚洲成人资源| 亚洲激情在线观看| 久久久噜噜噜久久人人看| 久久成人18免费观看| 国产精品国产三级国产普通话三级 | 国产精品国产a级| 日韩网站在线观看| 亚洲无限乱码一二三四麻| 欧美激情视频一区二区三区免费| 欧美激情精品久久久| 亚洲成色最大综合在线| 免费永久网站黄欧美| 欧美激情一区三区| 99ri日韩精品视频| 欧美日韩高清在线观看| 亚洲免费av电影| 亚洲欧美激情视频在线观看一区二区三区| 欧美啪啪成人vr| 99热在这里有精品免费| 亚洲欧美日韩另类| 国产视频亚洲精品| 久久精品一区二区三区不卡牛牛| 两个人的视频www国产精品| 亚洲成人在线视频播放| 欧美精品在欧美一区二区少妇| 99精品热视频| 久久aⅴ国产紧身牛仔裤| 国产午夜久久久久| 男女激情视频一区| 亚洲三级免费电影| 久久综合给合久久狠狠狠97色69| 模特精品在线| 亚洲午夜国产一区99re久久 | 欧美日韩综合一区| 午夜性色一区二区三区免费视频| 噜噜噜在线观看免费视频日韩| 91久久亚洲| 国产酒店精品激情| 久久伊伊香蕉| 亚洲一区精品在线| 欧美+亚洲+精品+三区| 亚洲视频精选在线| 精品福利电影| 国产精品国产a级| 麻豆视频一区二区| 亚洲专区一区| 亚洲人成艺术| 久久这里只有| 欧美一级专区| 日韩视频在线播放| 国产一区二区三区免费观看 | 欧美一区二区三区播放老司机| 亚洲第一黄网| 久久久久欧美精品| 亚洲在线日韩| 亚洲精品一区二区三区樱花| 国产日本欧美一区二区| 欧美精品一区二区视频| 久久久999精品视频| 一卡二卡3卡四卡高清精品视频| 美女精品网站| 久久亚洲国产精品一区二区| 国产精品入口尤物| 欧美日韩免费看| 免费欧美日韩国产三级电影| 欧美一区二区视频免费观看| 99精品黄色片免费大全| 欧美不卡福利| 鲁大师影院一区二区三区| 午夜亚洲影视| 亚洲欧美日韩国产综合| 一区二区高清在线观看| 亚洲欧洲精品一区| 亚洲激情图片小说视频| 国语自产精品视频在线看一大j8 | 性欧美18~19sex高清播放| 99re6热只有精品免费观看| 亚洲大胆人体视频| 欧美国产视频在线观看| 麻豆视频一区二区| 免费不卡欧美自拍视频| 久久精品视频在线| 久久久久久有精品国产| 久久久久久久综合| 久久欧美中文字幕| 久久夜色撩人精品| 欧美不卡视频| 亚洲电影免费在线观看| 国产麻豆视频精品| 欧美性生交xxxxx久久久| 欧美午夜美女看片| 国产精品一国产精品k频道56| 国产精品亚洲一区| 国产一区二区av| 亚洲福利免费| 亚洲久久一区| 亚洲曰本av电影| 性欧美xxxx大乳国产app| 欧美中文字幕视频| 久久最新视频| 亚洲激情在线视频| 99一区二区| 欧美一区激情视频在线观看| 久久国产福利| 欧美激情va永久在线播放| 欧美片在线观看| 国产精品永久免费视频| 伊人久久大香线蕉综合热线| 91久久久久久久久| 亚洲网站在线播放| 久久久久成人精品| 91久久在线观看| 亚洲一区二区综合| 久久久久成人精品| 欧美黄色免费网站| 国产伦理一区| 亚洲国产综合91精品麻豆| 在线亚洲电影| 久久只精品国产| 日韩午夜三级在线| 久久久人人人| 欧美视频在线播放| 亚洲国产激情| 欧美在线精品一区| 亚洲欧洲精品天堂一级| 午夜日韩福利| 欧美日韩免费一区二区三区视频| 国产小视频国产精品| 日韩视频在线观看免费| 久久亚洲精品视频| 一区二区三区色| 欧美jizz19性欧美| 国产亚洲欧美另类一区二区三区| 亚洲精品日韩在线| 久久蜜桃资源一区二区老牛 | 蜜臀a∨国产成人精品| 亚洲片区在线| 久久婷婷丁香| 亚洲午夜性刺激影院| 欧美刺激性大交免费视频| 国产一区二区三区奇米久涩| 亚洲桃花岛网站| 亚洲欧洲精品成人久久奇米网| 久久精品国产清高在天天线| 国产精品久久激情| 在线视频一区观看|