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

            Make Oneself More Strong

            mcs51a( 高興就寫點(diǎn):-),不高興就不寫 )

            Win32 中等待線程調(diào)用的結(jié)束

              
               如果在.net中一個(gè)線程等待另外一個(gè)線程的完成,可以使用System.Threading.Thread.Join, 在Win32 下的相應(yīng)的等效代碼   
            1 WaitForSingleObject(hThread,INFINITE);
            2 
            3 CloseHandle(hThread);
               Win32 中CreateThread出來的hThread屬于整個(gè)Process,線程中的回調(diào)函數(shù)結(jié)束后,不會(huì)失效,只有調(diào)用者調(diào)用CloseHandle,才最后真正的釋放系統(tǒng)中Thread 的資源.
              
               如果線程的回調(diào)函數(shù)已經(jīng)結(jié)束,那么hThread 處于激活狀態(tài),WaitForSignleObject 便能獲取到當(dāng)前狀態(tài),成功返回;如果沒有,WaitForSignleObject 便一直等待線程的回調(diào)結(jié)束.

               如果你想一個(gè)線程中等待另外一個(gè)線程回調(diào)結(jié)束的同時(shí),進(jìn)行消息MSG的分發(fā),或者做其他的事情.例如主UI線程在等待工作線程完成的同時(shí),需要更新UI上的進(jìn)度條,這時(shí)可以讓工作線程發(fā)送進(jìn)度消息MSG給主UI線程,主UI線程接受到消息MSG更新UI.可以在主UI線程中使用MsgWaitForMultipleObjects函數(shù)達(dá)到這一效果, 
             1 MSG msg;
             2 
             3 BOOL bLoop=TRUE;
             4 
             5 while(bLoop)
             6 {
             7 
             8     int nWait=MsgWaitForMultipleObjects(1,&hThread,FALSE,3000,QS_ALLEVENTS);
             9     switch(nWait) 
            10     {
            11     case WAIT_TIMEOUT:
            12     case WAIT_OBJECT_0+1:
            13         {
            14             while( PeekMessage( &msg, NULL, 00, PM_REMOVE ) ) {
            15                 TranslateMessage(&msg);
            16                 DispatchMessage( &msg );
            17             }
            18             break;
            19         }
            20 
            21     case WAIT_OBJECT_0:
            22     default:
            23         bLoop=FALSE;
            24         break;
            25     }
            26 };
            27 CloseHandle(hThread);
            28 
            29 
            30 





            posted on 2011-02-16 14:00 mcs51a 閱讀(2132) 評(píng)論(0)  編輯 收藏 引用


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            久久人人爽人人爽AV片| 亚洲αv久久久噜噜噜噜噜| 97久久国产亚洲精品超碰热| 精品国产福利久久久| 欧美亚洲国产精品久久蜜芽 | 久久免费线看线看| 国产一区二区精品久久凹凸 | 伊人久久大香线蕉无码麻豆| 99久久国产综合精品女同图片| 粉嫩小泬无遮挡久久久久久| 久久久久亚洲精品无码网址| 日本强好片久久久久久AAA| 九九久久精品国产| 久久夜色精品国产网站| 久久综合偷偷噜噜噜色| 久久久久中文字幕| 久久精品中文无码资源站| 亚洲午夜精品久久久久久人妖| 一级A毛片免费观看久久精品| 国产成人精品久久免费动漫| 伊人色综合久久天天人手人婷| 久久精品无码免费不卡| 久久婷婷久久一区二区三区| 亚洲AV无码久久寂寞少妇| 一级做a爰片久久毛片毛片| 亚洲乱亚洲乱淫久久| 国产精品毛片久久久久久久| 日韩人妻无码一区二区三区久久| 久久天天躁狠狠躁夜夜2020老熟妇 | 久久精品嫩草影院| 久久久久久久亚洲Av无码| 亚洲中文久久精品无码| 蜜桃麻豆WWW久久囤产精品| 伊人伊成久久人综合网777| 日韩电影久久久被窝网| 日本欧美国产精品第一页久久| 丁香五月综合久久激情| 久久人妻少妇嫩草AV无码蜜桃| 久久久久亚洲av毛片大| 欧美精品九九99久久在观看| 久久久亚洲裙底偷窥综合|