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

隨筆-4  評(píng)論-40  文章-117  trackbacks-0

線程基本概念

1.線程的組成

           (1)線程內(nèi)核對(duì)象:用于管理線程及存儲(chǔ)線程的統(tǒng)計(jì)信息

           (2)線程棧:維護(hù)線程執(zhí)行時(shí)需要的函數(shù)參數(shù)和局部變量?!【€程棧所需的內(nèi)存是從進(jìn)程中分配而得的,其大小默認(rèn)是1M.

               

           每個(gè)線程都有自已獨(dú)立的線程棧。

           進(jìn)程不執(zhí)行任何代碼,所有的代碼都是由線程執(zhí)行的。進(jìn)程相當(dāng)于一個(gè)裝載線程的容器。

          線程共享進(jìn)程的地址空間和數(shù)據(jù),如內(nèi)核對(duì)象句柄(內(nèi)核對(duì)象句柄只能依附于某個(gè)進(jìn)程而不是某個(gè)線程)

 

2.線程函數(shù)原型

            DWORD WINAPI ThreadFunc(PVOID pvParam)

            {

               DWORD dwResult = 0;

               ...

               return(dwResult);

            }

 

            The system allocates memory out of the process' address space for use by the thread's stack.

 

3.終止線程

              1.線程正常退出。系統(tǒng)會(huì)對(duì)線程函數(shù)內(nèi)創(chuàng)建的所有對(duì)象調(diào)用析構(gòu)函數(shù)。

              2.ExitThread(). 線程退出, 系統(tǒng)會(huì)清理線程棧。 但是系統(tǒng)不會(huì)對(duì)線程函數(shù)內(nèi)創(chuàng)建的所有對(duì)象調(diào)用析構(gòu)函數(shù)。

              3.TerminateThread().線程異步退出,系統(tǒng)不清理線程棧。只到擁有該線程的進(jìn)程退出時(shí)才清理線程棧。

               該函數(shù)是個(gè)異步函數(shù),它只會(huì)告訴系統(tǒng)去殺掉某個(gè)線程,但是系統(tǒng)不會(huì)保證當(dāng)該函數(shù)返回時(shí)線程立刻終止。

               因此我們?nèi)绻覀円_認(rèn)線程已經(jīng)終止了,則需要用WaitForSingleObject()來(lái)等待線程結(jié)束。             

              4.內(nèi)核對(duì)象由進(jìn)程所擁有,用戶對(duì)象由線程擁有。線程可擁有兩種用戶對(duì)象:WindowsHook.

              5.線程終止后,線程所擁有的用戶對(duì)象會(huì)被系統(tǒng)釋放。

             6.GetExitCodeThread() //檢查線程是否已終止

 

4.線程內(nèi)部細(xì)節(jié)

1.CreateThread _beginthreadex 區(qū)別:

             

    CreateThread是系統(tǒng)API,_beginthreadexCRT(C Run Time Library 運(yùn)行時(shí)庫(kù))函數(shù).     _beginthreadex內(nèi)部會(huì)調(diào)用CreateThread函數(shù)。 

     _endthreadex會(huì)釋放_beginthreadextiddata結(jié)構(gòu)分配的內(nèi)存。

 

    如果線程函數(shù)中調(diào)用了CRT函數(shù)(注:不是全部CRT函數(shù) 只是其中一部分函數(shù)),則該線程函數(shù)必須_beginthreadex而不是CreateThread函數(shù)創(chuàng)建。否則會(huì)產(chǎn)生內(nèi)存泄露。

    如果在除主線程之外的任何線程中進(jìn)行一下操作,你就應(yīng)該使用多線程版本的C runtime library,并使_beginthreadex_endthreadex

              (1) 使用malloc()free(),或是newdelete

              (2) 使用stdio.hio.h里面聲明的任何函數(shù)

              (3) 使用浮點(diǎn)變量或浮點(diǎn)運(yùn)算函數(shù)

              (4) 調(diào)用任何一個(gè)使用了靜態(tài)緩沖區(qū)的runtime函數(shù),比如:asctime(),strtok()rand()

 

2._beginthreadex_beginthread區(qū)別

 

    _beginthreadex內(nèi)部會(huì)自動(dòng)調(diào)用 _endthreadex.

    _beginthread內(nèi)部會(huì)自動(dòng)調(diào)用_endthread.

             

    _endthread內(nèi)部會(huì)自動(dòng)調(diào)用CloseHandle關(guān)閉當(dāng)前Thread內(nèi)核對(duì)象的句柄,所以在用_beginthread 時(shí)我們不需要在主線程中調(diào)用CloseHandle來(lái)關(guān)閉子線程的句柄。 

   _endthreadex相比_endthread而言更安全。它不會(huì)自動(dòng)關(guān)閉當(dāng)前Thread內(nèi)核對(duì)象的句柄。所以在用_beginthreadex時(shí)我們需要用CloseHandle來(lái)關(guān)閉子線程的句柄。

 

5.偽句柄和真實(shí)句柄

 

1.偽句柄(Pseudohandle):

 

                HANDLE GetCurrentProcess();

                HANDLE GetCurrentThread();                               

               

以上兩個(gè)函數(shù)會(huì)返回指向線程或進(jìn)程內(nèi)核對(duì)象的偽句柄(其實(shí)以上兩個(gè)函數(shù)返回的是一個(gè)常數(shù)-1)。所以偽句柄的值永遠(yuǎn)是指向當(dāng)前線程或進(jìn)程的。 

如果把該值傳給子進(jìn)程,該值則代表當(dāng)前子進(jìn)程的偽句柄。所以把句柄傳給子線程時(shí)一定要傳真時(shí)的句柄不能傳偽句柄。 

該句柄不會(huì)增加內(nèi)核對(duì)象的引用計(jì)數(shù),所以不需要調(diào)用CloseHandle()函數(shù)。

                               

  2.把偽句柄轉(zhuǎn)換成真實(shí)句柄

 

DuplicateHandle會(huì)增加內(nèi)核對(duì)象的引用計(jì)數(shù),所以要用CloseHandle()來(lái)關(guān)閉復(fù)制所得的對(duì)象句柄。

               

6.Common API

 

                DWORD GetCurrentProcessId();

                DWORD GetCurrentThreadId();

                HANDLE GetCurrentProcess();

                HANDLE GetCurrentThread();

                     DuplicateHandle()

posted on 2010-04-20 18:12 李陽(yáng) 閱讀(1355) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C++
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美日韩精品欧美日韩精品一 | 乱码第一页成人| 亚洲日韩欧美一区二区在线| 黑人一区二区| 在线播放日韩| 亚洲精品在线二区| 亚洲人成网站在线观看播放| 亚洲日本成人在线观看| 日韩午夜免费| 性亚洲最疯狂xxxx高清| 午夜精品久久| 免费不卡中文字幕视频| 亚洲福利视频在线| 亚洲国产91精品在线观看| 亚洲免费观看视频| 亚洲欧美伊人| 欧美日韩国产123区| 国产精品一区二区视频| 亚洲电影欧美电影有声小说| 妖精成人www高清在线观看| 午夜精品在线观看| 欧美激情一区二区三区在线视频 | 亚洲一区二区三区精品动漫| 性欧美xxxx大乳国产app| 国产精品久久久久9999高清| 国产亚洲人成a一在线v站| 99热这里只有精品8| 久久精彩视频| 亚洲欧美日韩人成在线播放| 欧美精品一区二区三区蜜臀| 狠狠干狠狠久久| 久久人人看视频| 午夜精品一区二区三区电影天堂 | 欧美日产一区二区三区在线观看 | 亚洲国产综合在线看不卡| 午夜精品剧场| 亚洲天堂网站在线观看视频| 欧美三区在线视频| 亚洲欧美三级伦理| 亚洲欧美日韩精品久久久久| 欧美三级午夜理伦三级中文幕| 亚洲国产一成人久久精品| 欧美成人在线影院| 亚洲第一在线视频| 欧美国产视频在线| 你懂的一区二区| 亚洲一二三区精品| 亚洲综合不卡| 亚洲国产日韩在线| 一区二区三区**美女毛片| 欧美亚州一区二区三区| 久久亚洲免费| 欧美精品尤物在线| 久久精品一区二区三区不卡| 久久天天狠狠| 猛干欧美女孩| 亚洲午夜日本在线观看| 欧美伊人久久大香线蕉综合69| 最新热久久免费视频| a4yy欧美一区二区三区| 国产日韩欧美一二三区| 亚洲激情社区| 国内偷自视频区视频综合| 亚洲精品精选| 香蕉久久夜色精品国产使用方法 | 欧美精品精品一区| 欧美综合二区| 国产精品免费视频xxxx| 一本一道久久综合狠狠老精东影业 | 老色鬼久久亚洲一区二区| 国产精品99久久久久久宅男 | 久久综合九色综合欧美就去吻| 一区二区三区精品久久久| 欧美福利电影网| 国语精品中文字幕| 欧美在线观看视频| 亚洲在线视频网站| 欧美午夜视频在线观看| 日韩视频一区二区在线观看 | 狠狠入ady亚洲精品经典电影| 久久久亚洲一区| 国产精品免费看片| 性欧美1819性猛交| 久久久久亚洲综合| 伊人婷婷久久| 欧美精品在线免费播放| 日韩视频一区二区三区在线播放| 一本色道久久| 国产精品一区=区| 久久九九国产精品怡红院| 欧美电影打屁股sp| 亚洲一区自拍| 国内精品一区二区三区| 欧美激情第五页| 亚洲欧美日韩综合aⅴ视频| 六十路精品视频| 午夜久久资源| 亚洲精品欧美激情| 国产一区二区| 国产精品久久7| 欧美+日本+国产+在线a∨观看| 在线视频日韩| 亚洲电影激情视频网站| 欧美一区二区在线视频| 亚洲人人精品| 亚洲理伦在线| 亚洲三级性片| 在线日韩一区二区| 国产一区二区三区免费观看| 欧美日韩免费一区| 欧美电影在线| 欧美激情一区二区三区不卡| 久久精品欧美日韩| 久久久久九九视频| 久久久亚洲精品一区二区三区| 欧美专区在线观看一区| 午夜视频久久久| 午夜亚洲视频| 久久深夜福利免费观看| 久久爱www久久做| 久久精品国产亚洲a| 亚洲欧美久久久| 欧美在线观看一区二区三区| 欧美成人第一页| 日韩亚洲欧美中文三级| 欧美在线一二三| 中文一区字幕| 欧美日本高清视频| 亚洲人午夜精品免费| 久久天堂精品| 亚洲激情网站| 日韩视频在线观看免费| 国产欧美一区二区三区久久| 国产精品稀缺呦系列在线| 国产精品中文字幕欧美| 亚洲国产成人porn| 亚洲一区精彩视频| 六月婷婷一区| 中文国产一区| 免费在线日韩av| 国产一区二区高清| 国产精品99久久久久久久女警| 欧美在线免费看| 亚洲精品国产精品国自产观看| 亚洲欧美激情视频在线观看一区二区三区| 欧美自拍丝袜亚洲| 国产精品女主播| 亚洲视频日本| 99精品欧美一区二区三区综合在线| 久久疯狂做爰流白浆xx| 国产精品激情电影| 亚洲欧美国产日韩中文字幕| 亚洲国产日日夜夜| 女女同性精品视频| 亚洲大胆美女视频| 欧美大片专区| 欧美日本在线一区| 99riav1国产精品视频| 亚洲第一黄色网| 欧美成人国产| 99精品99久久久久久宅男| 欧美激情视频在线播放| 欧美视频精品在线观看| 久久伊人亚洲| 国产精品扒开腿爽爽爽视频| 国产视频精品xxxx| 一区二区三区久久网| 99re6这里只有精品| 欧美视频福利| 久久另类ts人妖一区二区| 久久午夜精品一区二区| 亚洲福利久久| 99www免费人成精品| 国产精品高潮呻吟久久av黑人| 亚洲一区二区伦理| 亚洲一区二区三区精品视频| 国产精品毛片| 老牛影视一区二区三区| 欧美a级一区| 欧美亚洲视频| 欧美激情国产高清| 久久综合色影院| 欧美日韩精品在线| 美女视频黄免费的久久| 国产精品国色综合久久| 免费视频一区二区三区在线观看| 免费看av成人| 久久一区二区三区超碰国产精品| 欧美精品 国产精品| 免费在线观看成人av| 国产日韩欧美不卡在线| 亚洲人成网站777色婷婷| 国产精品视频免费观看| 日韩天堂av| 欧美视频一区二区三区| 欧美在线观看视频一区二区| 欧美日韩午夜| 99re66热这里只有精品3直播| 一二三四社区欧美黄| 久久综合九色综合网站|