• <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)  編輯 收藏 引用 所屬分類: 編程技巧
            久久久久国产视频电影| 久久久久亚洲精品无码蜜桃| 国产午夜久久影院| 99久久国产免费福利| 久久久久无码专区亚洲av| 狠狠色婷婷久久综合频道日韩 | 久久久久免费看成人影片| 久久人人爽人人爽人人AV| 国产福利电影一区二区三区,免费久久久久久久精 | 亚洲AV日韩精品久久久久 | 亚洲精品美女久久久久99小说| 狠狠色狠狠色综合久久| 精品久久久久久无码国产| 久久精品国产亚洲AV蜜臀色欲| 久久这里只精品国产99热| 五月丁香综合激情六月久久 | 久久久久久九九99精品| 久久精品国产99久久香蕉| 精品熟女少妇a∨免费久久| 久久中文字幕无码专区| 久久精品免费观看| 久久午夜无码鲁丝片| 一本综合久久国产二区| 精品久久久久久无码人妻蜜桃 | 91麻精品国产91久久久久| 久久精品国产99久久无毒不卡 | 97久久精品人人做人人爽| 国产成人久久激情91| 伊人久久大香线蕉综合Av| 欧美黑人激情性久久| 久久久久婷婷| 日本欧美国产精品第一页久久| 国产情侣久久久久aⅴ免费| 伊色综合久久之综合久久| 亚洲国产天堂久久综合| 久久性精品| 狠狠色丁香婷婷久久综合| 色妞色综合久久夜夜| 久久久久久久97| 久久亚洲精品人成综合网| 久久精品a亚洲国产v高清不卡|