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

posts - 131, comments - 12, trackbacks - 0, articles - 0
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

MFC啟動和關閉線程

Posted on 2013-01-15 11:00 盛勝 閱讀(9853) 評論(0)  編輯 收藏 引用

http://hi.baidu.com/andywangcn/item/50d640c325290a2aef4665c4
1、 啟動線程:

CWinThread* AfxBeginThread( 線程函數,this );

2、通常導致線程終止的兩種情況是:控制函數退出或不允許線程完成運行。如果字處理器使用后臺打印線程,若成功完成打印,則控制函數將正常終止。但是,如果用戶要取消打印,后臺打印線程則不得不提前終止。本主題介紹如何實現每一種情況,以及在終止后如何獲取線程的退出代碼。

(1)正常線程終止

對于輔助線程,正常線程終止很簡單:退出控制函數并返回表示終止原因的值。可以使用 函數或 return 語句。一般情況下,0 表示成功完成,但這取決于您自己。

對于用戶界面線程,該過程也很簡單:從用戶界面線程內調用 Platform SDK 中的 。PostQuitMessage 采用的唯一參數是線程的退出代碼。對于輔助線程,0 通常表示成功完成。

(2)過早的線程終止

過早終止線程幾乎一樣簡單:從線程內調用 。將所需的退出代碼作為唯一參數傳遞。這將停止執行線程、解除對線程堆棧的分配、分離附加到線程的所有 DLL 并從內存中刪除線程對象。

必須從要終止的線程內調用 AfxEndThread。如果要從其他線程終止線程,必須設置兩個線程間的通信方法。

舉一個例子:

可以創建一個信號量,用WaitForSingleObject函數來檢測該信號量的狀態。

成員變量 m_hThreadEvent;

m_hThreadEvent = CreateEvent( NULL, FALSE, FALSE, NULL );

線程的執行函數:

         for ( ; ; )

         {         DWORD dwRetVal;

                   dwRetVal = WaitForSingleObject( m_hThreadEvent, 100 );

                   if ( dwRetVal == WAIT_TIMEOUT )

                        {                    // TODO:

                   }

                   else

                   {

                            // stop receive text thread.

                            DWORD dwExitCode;

                            GetExitCodeThread( m_pThreadRecv->m_hThread, &dwExitCode );

                            AfxEndThread( dwExitCode, TRUE );

                   }

         }

    要結束線程時,使用SetEvent,將信號量置為有信號。

    該線程是在信號量有信號時,退出。

(3)TerminateThread

在CWinThread對象中有線程的句柄,可以使用該句柄強行殺死線程。但是不推薦使用這種方式,當可以正常結束的時候,選擇前兩種方法較好。

檢索線程的退出代碼

若要獲取輔助線程或用戶界面線程的退出代碼,請調用 函數。有關此函數的信息,請參見 Platform SDK。此函數獲取線程(存儲在 CWinThread 對象的 m_hThread 數據成員中)的句柄和 DWORD 的地址。

如果線程仍然是活動的,GetExitCodeThread 將 STILL_ACTIVE 放置在提供的 DWORD 地址中;否則將退出代碼放置在該地址中。

檢索 對象的退出代碼還需要一步。默認情況下,當 CWinThread 線程終止時,刪除該線程對象。這意味著不能訪問 m_hThread 數據成員,因為 CWinThread 對象不再存在。若要避免出現這種情況,請執行以下操作之一:

  • 將 m_bAutoDelete 數據成員設置為 FALSE。這使 CWinThread 對象在線程終止后仍可以繼續存在。然后可以在線程終止后,訪問 m_hThread 數據成員。但是,如果使用此方法,就得銷毀 CWinThread 對象,因為框架不會自動刪除該對象。這是首選方法。

  • 單獨存儲線程的句柄。創建線程后,(使用 ::DuplicateHandle)將其 m_hThread 數據成員復制到其他變量,并通過該變量訪問該成員。這樣,終止后即會自動刪除對象,并且仍然可以找到線程終止的原因。請注意:在可以復制句柄之前,線程不終止。執行此操作的最安全的方式是將 CREATE_SUSPENDED 傳遞到 ,存儲句柄,然后通過調用 繼續執行線程。

任一方法都可以使您確定 CWinThread 對象終止的原因。


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            一二三区精品| 久久一二三四| 国产乱肥老妇国产一区二| 一区二区三区回区在观看免费视频| 欧美激情视频在线播放| 欧美成人免费全部观看天天性色| 91久久精品美女| 亚洲人午夜精品| 欧美性猛片xxxx免费看久爱| 午夜伦欧美伦电影理论片| 午夜精品视频在线观看一区二区| 国内精品久久久久影院薰衣草 | 欧美日韩色综合| 正在播放日韩| 亚洲一区二区三区色| 韩国精品主播一区二区在线观看| 美女精品自拍一二三四| 欧美aa在线视频| 亚洲综合精品四区| 久久久精品日韩欧美| 一本色道久久88综合亚洲精品ⅰ| 亚洲一区二区三区在线看| 精品999日本| 亚洲久久一区二区| 国产日韩欧美亚洲| 欧美a级理论片| 欧美网站在线观看| 免费不卡欧美自拍视频| 欧美日韩在线高清| 欧美不卡视频一区发布| 国产精品卡一卡二| 欧美黄污视频| 国产偷国产偷精品高清尤物| 亚洲国语精品自产拍在线观看| 国产精品免费一区二区三区观看| 欧美国产另类| 国产视频一区免费看| 亚洲黄页视频免费观看| 在线成人小视频| 一区二区三区不卡视频在线观看| 亚洲国产精品美女| 性色av一区二区三区在线观看 | 亚洲人体偷拍| 欧美亚洲免费电影| 亚洲一区二区三区乱码aⅴ| 久久蜜臀精品av| 欧美一区午夜精品| 欧美三日本三级少妇三99| 欧美黑人国产人伦爽爽爽| 国产日韩欧美在线| 一区二区三区欧美激情| 99成人在线| 女同一区二区| 欧美激情第3页| 一区二区在线看| 久久精品成人一区二区三区| 亚洲欧美日韩综合aⅴ视频| 欧美精品粉嫩高潮一区二区| 欧美高清不卡在线| 激情六月婷婷久久| 久久精品视频一| 老司机午夜精品| 亚洲成色www8888| 久久躁日日躁aaaaxxxx| 欧美.www| 亚洲精品美女久久7777777| 蜜臀a∨国产成人精品| 欧美国产视频日韩| 亚洲黄色在线视频| 欧美福利小视频| 亚洲美女黄色| 亚洲天堂免费观看| 国产精品日本| 亚洲欧洲av一区二区| 欧美在线国产| 国内不卡一区二区三区| 久久久人人人| 91久久久在线| 亚洲淫性视频| 国产一区二区日韩| 蜜桃久久av| 日韩亚洲欧美高清| 欧美在线观看日本一区| 国产日本亚洲高清| 久久亚洲风情| 日韩午夜精品| 久久久久久久久一区二区| 在线观看国产精品网站| 欧美精品七区| 午夜亚洲性色福利视频| 欧美黑人一区二区三区| 夜夜嗨一区二区| 国产一区二区福利| 欧美aⅴ99久久黑人专区| 夜夜精品视频| 美女网站久久| 亚洲在线观看视频| 樱桃国产成人精品视频| 欧美日韩一区二区三区高清| 午夜亚洲影视| 91久久综合亚洲鲁鲁五月天| 香蕉乱码成人久久天堂爱免费| 国产一区二区三区高清| 欧美精品午夜| 久久久国产成人精品| 日韩午夜在线视频| 久久久久免费| 亚洲欧美国产毛片在线| 亚洲国产精品一区二区第四页av| 欧美午夜电影一区| 免费短视频成人日韩| 亚洲欧美国产视频| 亚洲啪啪91| 美乳少妇欧美精品| 亚洲欧美影音先锋| 91久久久久| 国产午夜精品一区二区三区欧美| 欧美精品v日韩精品v韩国精品v| 欧美亚洲一区三区| 一本综合久久| 亚洲日本中文字幕| 欧美刺激午夜性久久久久久久| 午夜亚洲激情| 亚洲午夜羞羞片| 日韩视频免费观看高清在线视频| 国内精品久久久久久影视8| 国产精品a久久久久久| 欧美+日本+国产+在线a∨观看| 欧美中文日韩| 亚洲与欧洲av电影| 9国产精品视频| 亚洲乱码国产乱码精品精98午夜 | 欧美亚洲一区在线| 中日韩高清电影网| 日韩午夜免费视频| 亚洲三级免费| 亚洲片在线观看| 亚洲国产精品第一区二区三区| 国模私拍一区二区三区| 国产日韩欧美精品综合| 国产乱子伦一区二区三区国色天香 | 午夜久久资源| 性欧美1819性猛交| 午夜亚洲伦理| 久久精品1区| 久久精品国产成人| 久久激情一区| 久久精品亚洲热| 久久夜色撩人精品| 蜜桃av一区二区| 欧美成va人片在线观看| 欧美黄色片免费观看| 欧美激情精品久久久久久| 欧美国产亚洲另类动漫| 亚洲激情在线播放| 亚洲三级国产| 亚洲一区二区三区在线播放| 亚洲欧美日韩国产一区| 欧美在线在线| 欧美14一18处毛片| 欧美日韩性视频在线| 免费日韩av片| 欧美大片一区二区三区| 亚洲色图综合久久| 一区二区三区精品在线| 亚洲自拍偷拍视频| 久久精品官网| 美女国产精品| 国产精品国产馆在线真实露脸| 国产亚洲观看| 亚洲精华国产欧美| 亚洲在线视频观看| 久久亚洲综合色一区二区三区| 欧美激情综合| 亚洲一区二区三区高清| 久久天天躁夜夜躁狠狠躁2022| 欧美国产精品久久| 国产欧美日韩亚洲| 亚洲精品午夜精品| 久久精品国产第一区二区三区最新章节 | 蜜臀久久99精品久久久画质超高清| 欧美高清一区| 亚洲欧美日韩精品| 欧美高清视频一区二区三区在线观看| 欧美性事免费在线观看| 激情综合网激情| 亚洲在线观看| 亚洲福利视频一区| 欧美一区二区精美| 欧美日韩国产一区二区三区| 国产一区二区三区在线观看视频| 亚洲美女毛片| 老司机精品福利视频| 一区二区三区欧美亚洲| 男女av一区三区二区色多| 国产精品一区二区三区四区| 亚洲毛片在线免费观看| 久久久亚洲精品一区二区三区| 亚洲视频在线观看视频| 欧美a级大片|