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

Dragon  
Dragon
日歷
<2025年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011
統(tǒng)計
  • 隨筆 - 58
  • 文章 - 0
  • 評論 - 55
  • 引用 - 0

導(dǎo)航

常用鏈接

留言簿(3)

隨筆分類(58)

隨筆檔案(58)

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

 

首先,來分析一個假設(shè)的場景:
如果PostMessage傳遞的是一些在棧區(qū)的變量,PostMessage后把這些數(shù)據(jù)傳到另一個線程的消息隊列里,但
由于是棧區(qū)上的變量在PostMessage所在函數(shù)返回時由系統(tǒng)回收,那么另一線程就會訪問不了這些數(shù)據(jù)。

解決辦法:在傳送線程PostMessage消息前對棧區(qū)上的數(shù)據(jù)new一份放到堆區(qū)上,堆區(qū)的數(shù)據(jù)是程序員手動創(chuàng)
建和手動回收的,然后把這些數(shù)據(jù)傳送到另一線程,由另一線程去手動釋放delete。

問題的產(chǎn)生:由于工作線程處理的繁忙,有一些數(shù)據(jù)在UI線程退出時還沒返回,當(dāng)UI線程退出后,數(shù)據(jù)返回
由工作線程PostMessage到UI線程,UI線程已經(jīng)接收不到消息,故未能手動釋放工作線程傳過來的堆區(qū)內(nèi)存,
造成內(nèi)存泄漏。

后來,查到如下網(wǎng)站:
http://stackoverflow.com/questions/3807945/mfc-data-forwarding-to-main-thread-via-postmessage
發(fā)現(xiàn)PostMessage是有返回值的,發(fā)送失敗返回false。

故上面的問題有了解決方法:
UI線程(接收線程)退出后工作線程(發(fā)送線程)PostMessage是返回false的,故可以利用這個返回值來決定由哪個線程來釋放這段
PostMessage中傳遞的內(nèi)存,如果傳送失敗,則由當(dāng)前PostMessage的線程負(fù)責(zé)手動回收,如果發(fā)送成功就由
接收線程來負(fù)責(zé)手動回收。

posted on 2012-08-20 17:12 Dragon 閱讀(4825) 評論(8)  編輯 收藏 引用 所屬分類: VC
評論:
  • # re: 關(guān)于PostMessage在多線程中的內(nèi)存釋放問題  萬連文 Posted @ 2012-08-20 18:33
    1.對象采用引用計數(shù)
    2.對消息機(jī)制進(jìn)行封裝使其更面向?qū)ο?參考chromium的消息框架)

    其它的辦法不是很體面、系統(tǒng)。  回復(fù)  更多評論   

  • # re: 關(guān)于PostMessage在多線程中的內(nèi)存釋放問題[未登錄]  春秋十二月 Posted @ 2012-08-20 18:38
    此類問題,我略有分析,詳見http://m.shnenglu.com/qinqing1984/archive/2011/10/21/158841.html
    在文章后面。  回復(fù)  更多評論   

  • # re: 關(guān)于PostMessage在多線程中的內(nèi)存釋放問題  Richard Wei Posted @ 2012-08-20 21:04
    PostMessage只是把消息放到線程消息隊列,線程退出時并不保證隊列中的所有消息都已經(jīng)被處理,所以博主上面的解決方案仍然會有內(nèi)存泄露。   回復(fù)  更多評論   

  • # re: 關(guān)于PostMessage在多線程中的內(nèi)存釋放問題  Dragon Posted @ 2012-08-21 11:05
    @Richard Wei
    這不關(guān)系到消息有沒有處理吧,是關(guān)系的內(nèi)存有沒有釋放的問題,消息隊列的消息沒處理沒關(guān)系啊,只要線程把開避的內(nèi)存釋放掉就好。  回復(fù)  更多評論   

  • # re: 關(guān)于PostMessage在多線程中的內(nèi)存釋放問題  Dragon Posted @ 2012-08-21 11:15
    @Richard Wei
    再想了一下,如果你的意思是:PostMessage成功了,剛剛好接收線程未能處理這個消息就退出了,然后這個內(nèi)存交由接收線程釋放就會有內(nèi)存泄露。我再完善一下。  回復(fù)  更多評論   

  • # re: 關(guān)于PostMessage在多線程中的內(nèi)存釋放問題  Richard Wei Posted @ 2012-08-21 11:19
    @Dragon
    是的,你可以試下連續(xù)Post 100條Message,然后結(jié)束結(jié)束接收線程,所有的消息就都被丟掉了,自然就內(nèi)存泄露了。  回復(fù)  更多評論   

  • # re: 關(guān)于PostMessage在多線程中的內(nèi)存釋放問題  aa Posted @ 2012-08-21 19:22
    不要追求完美. 要解決的是持續(xù)的內(nèi)存泄露, 對固定量的可以視而不見, 可處理 也可不處理  回復(fù)  更多評論   

 
Copyright © Dragon Powered by: 博客園 模板提供:滬江博客
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            99re热精品| 久久综合九色综合久99| 一区二区三区**美女毛片| 欧美日韩久久精品| 久久国产精品亚洲77777| 亚洲字幕在线观看| 午夜精品久久久久久久久久久久久 | 亚洲一线二线三线久久久| 亚洲精品一区二区三区在线观看| 久久本道综合色狠狠五月| 亚洲性视频h| 久久久一本精品99久久精品66| 在线亚洲激情| 性欧美大战久久久久久久久| 在线亚洲成人| 久久成人18免费观看| 久久嫩草精品久久久久| 美女黄网久久| 一区二区三区鲁丝不卡| 性做久久久久久免费观看欧美| 欧美中文在线观看国产| 欧美高清在线| 国产在线高清精品| 99精品国产福利在线观看免费| 亚洲视频在线播放| 国产人成精品一区二区三| 影音先锋中文字幕一区二区| 亚洲六月丁香色婷婷综合久久| 午夜免费电影一区在线观看| 欧美福利视频| 欧美影院视频| 国产精品久久久久久久午夜片| 韩国视频理论视频久久| 香港久久久电影| 一卡二卡3卡四卡高清精品视频| 欧美一区亚洲二区| 国产女主播一区二区三区| 日韩天堂在线观看| 亚洲视频一区二区| 国产欧美91| 久久国产精品99国产| 亚洲精品人人| 日韩一区二区免费高清| 99国内精品久久| 亚洲精品国产视频| 久久三级福利| 黄色综合网站| 亚洲高清视频在线观看| 欧美α欧美αv大片| 亚洲国产老妈| 亚洲精品视频在线播放| 欧美日韩精品在线观看| 亚洲男人第一av网站| 亚洲欧美一区二区三区极速播放 | 亚洲综合久久久久| 亚洲一区精彩视频| 在线播放不卡| 91久久精品国产91久久| 欧美日韩综合在线| 欧美在线首页| 欧美福利视频一区| 欧美在线首页| 欧美日韩理论| 免费亚洲一区二区| 欧美三区在线| 亚洲二区在线观看| 国产午夜亚洲精品理论片色戒| 久久最新视频| 国产精品一区二区在线| 欧美成人精品激情在线观看| 欧美午夜女人视频在线| 欧美午夜不卡影院在线观看完整版免费 | 国产精品久久久久久久浪潮网站| 久久久精品性| 国产亚洲在线观看| 亚洲日本欧美| 亚洲欧美另类久久久精品2019| 亚洲精品九九| 欧美日韩成人在线观看| 亚洲高清资源综合久久精品| 黑人中文字幕一区二区三区| 亚洲自拍三区| 午夜视频在线观看一区二区| 欧美午夜电影网| 亚洲欧美中文另类| 欧美亚洲视频在线观看| 国产欧美日韩一区二区三区在线| 9l国产精品久久久久麻豆| 日韩视频第一页| 欧美色网在线| 亚洲天堂免费在线观看视频| 亚洲欧美激情在线视频| 国产精品嫩草久久久久| 欧美怡红院视频| 一区在线视频| 欧美乱妇高清无乱码| 国产精品99久久久久久久久久久久| 香蕉久久a毛片| 亚洲成人在线视频网站| 欧美日韩一区二区三区免费看 | 久久嫩草精品久久久精品| 亚洲国产精品久久久| 欧美午夜视频网站| 欧美在线观看天堂一区二区三区| 国产亚洲成年网址在线观看| 久久精品论坛| 一区二区三区日韩| 久久国产精品电影| 欧美成人中文字幕在线| 99热免费精品| 欧美日韩视频第一区| 在线性视频日韩欧美| 久久精品国产在热久久| 99成人在线| 国产一区二区三区久久久久久久久 | 一二三四社区欧美黄| 久久riav二区三区| 一本在线高清不卡dvd | 亚洲国产精选| 欧美日本在线播放| 久久成人免费视频| 亚洲一区二区三区在线看 | 一区二区三区国产盗摄| 欧美777四色影视在线| 欧美专区在线观看一区| 一区二区三区|亚洲午夜| 亚洲日本理论电影| 亚洲国产日韩一区| 黄色日韩网站| 欧美激情亚洲综合一区| 香蕉视频成人在线观看| 日韩视频在线免费| 亚洲国产精品久久久久久女王| 欧美人与性动交α欧美精品济南到| 亚洲欧美一级二级三级| 亚洲欧美日韩一区二区三区在线| 在线中文字幕不卡| 亚洲视频一区在线观看| 亚洲视频播放| 欧美一区二区观看视频| 性色一区二区| 久久久免费观看视频| 久久蜜臀精品av| 噜噜噜91成人网| 亚洲国内在线| 久久久久国产精品一区| 中文在线一区| 亚洲一区二区三区精品在线观看| 亚洲激情国产| 欧美在线免费一级片| 亚洲欧美成人一区二区三区| 亚洲国产日韩一区二区| 亚洲国产精品综合| 亚洲国产精品一区| 亚洲第一黄色网| 一区二区三区免费网站| 国产精品美女久久久浪潮软件| 国产精品久久久久久久久果冻传媒| 国产欧美日韩三级| 亚洲国产另类精品专区| 欧美在线观看你懂的| 久久综合伊人| 亚洲一区免费网站| 欧美二区在线播放| 亚洲大黄网站| 模特精品在线| 国产夜色精品一区二区av| 国精品一区二区| 一区电影在线观看| 欧美专区第一页| 久久偷看各类wc女厕嘘嘘偷窃| 亚洲巨乳在线| 久久夜色精品国产| 国产精品试看| 一区二区欧美在线| 亚洲电影在线看| 久久精品一区二区三区四区| 欧美激情视频在线播放| 国产精品久久综合| 亚洲国产精品ⅴa在线观看| 欧美激情乱人伦| 久久国产婷婷国产香蕉| 欧美国产精品中文字幕| 国产一区二区在线观看免费| 亚洲网友自拍| 亚洲视频1区2区| 国产伦精品一区二区三区在线观看| 国产精品国产福利国产秒拍| 欧美一级淫片aaaaaaa视频| 亚洲精品国产品国语在线app| 欧美成人亚洲| 夜夜嗨av一区二区三区网站四季av | 黄色小说综合网站| 欧美一区视频| 久久久噜噜噜| 亚洲国产一区在线| 久久精品国产成人| 性亚洲最疯狂xxxx高清| 久久久久久9| 国产一区二区按摩在线观看|