• <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>

            huyutian

            他強由他強,清風拂山崗;他橫由他橫,明月照大江。他自狠來他自惡,我自一口真氣足

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              20 隨筆 :: 47 文章 :: 22 評論 :: 0 Trackbacks
            最近用DLL封裝一個接口時,出現了死鎖。調試分析發(fā)現是在DLL初始化時調用了CreateTimerQueue()函數。這個函數會創(chuàng)建一個新的線程。正是由于在DLL初始化時創(chuàng)建新線程導致的死鎖。
            相似問題討論網頁在這里
            http://www.eggheadcafe.com/software/aspnet/33401802/problem-createtimerqueue-in-initinstance.aspx

            Note that you cannot do anything that creates threads in a DLL's InitInstance; any attempt to do so will deadlock your application.

            Best Practices for Creating DLLs

            Multimedia Timer Hangs in MFC DLL InitInstance

            其實除了InitInsatance函數外,DllMain,全局變量初始化如果直接或間接創(chuàng)建了新的工作線程都會造成死鎖。Best Practices for Creating DLLs介紹了DLL裝載詳細過程,英文好的兄弟可以自己研究下。
            為防資料丟失,在這里保存一份/Files/huyutian/DLL_bestprac.zip
            posted on 2011-08-11 21:46 胡雨田 閱讀(467) 評論(0)  編輯 收藏 引用 所屬分類: 編程技巧
            久久国产精品国产自线拍免费| 无码人妻久久一区二区三区蜜桃| 久久久久人妻一区二区三区vr| 国产99久久精品一区二区| 国产精品久久久久久久久| 色欲综合久久躁天天躁| 亚洲人成精品久久久久| 亚洲国产成人久久综合一| 免费无码国产欧美久久18| 国产精品久久永久免费| 中文成人久久久久影院免费观看| 精品九九久久国内精品| 亚洲AV成人无码久久精品老人| 久久精品免费大片国产大片| 国产精品久久国产精品99盘 | 久久精品中文字幕无码绿巨人| 亚洲综合久久综合激情久久| 麻豆成人久久精品二区三区免费| 久久久国产精品| 欧美激情精品久久久久| 久久亚洲精品国产精品| 久久亚洲国产精品成人AV秋霞| 精品久久久久久久久久中文字幕 | 国产亚洲精久久久久久无码| 久久www免费人成看国产片| 精品免费tv久久久久久久| 久久精品国产亚洲AV久| 欧美亚洲国产精品久久| 国产精品成人无码久久久久久| 亚洲精品无码久久久久久| 亚洲精品国产综合久久一线| 久久精品综合网| 囯产精品久久久久久久久蜜桃| 久久精品青青草原伊人| 精品无码久久久久国产动漫3d| 精品多毛少妇人妻AV免费久久| 国产精品久久久久久久app| 久久人人爽人人爽人人片AV高清 | 久久久精品人妻一区二区三区蜜桃| 中文精品99久久国产 | 亚洲国产高清精品线久久|