• <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封裝一個接口時,出現了死鎖。調試分析發現是在DLL初始化時調用了CreateTimerQueue()函數。這個函數會創建一個新的線程。正是由于在DLL初始化時創建新線程導致的死鎖。
            相似問題討論網頁在這里
            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,全局變量初始化如果直接或間接創建了新的工作線程都會造成死鎖。Best Practices for Creating DLLs介紹了DLL裝載詳細過程,英文好的兄弟可以自己研究下。
            為防資料丟失,在這里保存一份/Files/huyutian/DLL_bestprac.zip
            posted on 2011-08-11 21:46 胡雨田 閱讀(455) 評論(0)  編輯 收藏 引用 所屬分類: 編程技巧
            久久综合香蕉国产蜜臀AV| 久久久久亚洲AV无码观看| 久久国产精品99精品国产| 久久久久免费视频| 国产精品久久新婚兰兰| 久久精品国产精品国产精品污 | 成人国内精品久久久久影院VR| 久久精品国产亚洲Aⅴ蜜臀色欲| 久久人与动人物a级毛片| 国产精品视频久久久| 少妇久久久久久被弄到高潮 | 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 | 亚洲精品tv久久久久| 潮喷大喷水系列无码久久精品| 亚洲国产精品无码久久久蜜芽| 久久影视综合亚洲| 久久亚洲AV成人无码| 午夜天堂精品久久久久| 国产精品午夜久久| 精品伊人久久久| 久久笫一福利免费导航 | 精品国产乱码久久久久软件| 国产亚洲精久久久久久无码AV| 国产精品日韩深夜福利久久| 国产99久久九九精品无码| 久久综合精品国产一区二区三区| 999久久久免费精品国产| 国产精品伦理久久久久久| 久久亚洲AV无码精品色午夜麻豆| 热re99久久6国产精品免费| 精品视频久久久久| 久久精品国产亚洲AV无码麻豆| 久久久久国产精品麻豆AR影院| 久久久久久久久久久久久久| 国产精品热久久毛片| 久久久久免费看成人影片| 久久91综合国产91久久精品 | 亚洲成色999久久网站| 精品欧美一区二区三区久久久| 欧美精品福利视频一区二区三区久久久精品 | 亚洲欧美日韩精品久久|