在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            wince 等待函數(shù)

            作者: 時(shí)間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

            等待函數(shù)是使一個(gè)線程自愿進(jìn)入等待狀態(tài),直到指定的內(nèi)核對象被出發(fā)為止。注意如果線程在調(diào)用的一個(gè)等待函數(shù)的時(shí)候,相應(yīng)的內(nèi)核對象已經(jīng)處于觸發(fā)狀態(tài),那么線程是不會(huì)進(jìn)入等待狀態(tài)的。等待函數(shù)經(jīng)常用來阻塞線程來進(jìn)行同步,在IST中用到來等待相應(yīng)的中斷事件。常用的等待函數(shù)是:WaitForSingleObject()。函數(shù)原型如下:

            本文引用地址:http://www.biyoush.com/article/201609/304604.htm

            DWORD WaitForSingleObject(

            HANDLE hObject,

            DWORD dwMilliseconds);

            第一個(gè)參數(shù)hObject代表要等帶的內(nèi)核對象,第二個(gè)參數(shù)dwMilliseconds代表要等待的毫秒數(shù)。如果到等待的時(shí)間到達(dá),內(nèi)核對象還沒有被觸發(fā),則函數(shù)返回等待超時(shí)。

            在wince中可以用來被等待的內(nèi)核對象有:進(jìn)程,線程,作業(yè),文件以及控制臺的標(biāo)準(zhǔn)輸入流/輸出流/錯(cuò)誤流,事件,可等待的計(jì)時(shí)器,信號量,互斥量。其中事件,可等待的計(jì)時(shí)器,信號量以及互斥量是windows提供的專門用來線程同步的內(nèi)核對象。

            對第二個(gè)參數(shù)經(jīng)常傳遞INFINITE,就是0xFFFFFFFF(-1)。當(dāng)傳遞INFINITE的時(shí)候代表如果等待的內(nèi)核對象永遠(yuǎn)不被觸發(fā),那么調(diào)用的線程就永遠(yuǎn)不會(huì)被喚醒,它會(huì)一直等待下去。當(dāng)然在等待的過程中并沒有占用CPU。

            函數(shù)的返回值代表為什么調(diào)用線程又能夠繼續(xù)執(zhí)行(線程進(jìn)入就緒狀態(tài))。

            WAIT_OBJECT_0:代表等待的內(nèi)核對象被觸發(fā)。

            WAIT_TIMEOUT:代表等待超時(shí)。

            WAIT_FAILED:代表傳入的無效的參數(shù),這時(shí)調(diào)用GetLastError可以獲得更為詳細(xì)的信息。

            WaitForSingleObject是等帶一個(gè)內(nèi)核對象被觸發(fā)。而WaitForMultipleObjects允許調(diào)用線程同時(shí)檢查多個(gè)內(nèi)核對象的觸發(fā)狀態(tài),其函數(shù)原型如下:

            DWORD WaitForMultipleObjects(

            DWORD dwCount,

            CONST HANDLE * phObjects,

            BOOL bWaitAll,

            DWORD dwMilliseconds);

            dwCount表示我們要檢測的內(nèi)核對象的個(gè)數(shù)。這個(gè)值必須在1-MAXIMUM_WAIT_OBJECTS之間。phObjects是一個(gè)指針,指向一個(gè)內(nèi)核對象句柄的數(shù)組。bWaitALL為TRUE時(shí)表示要等所有的內(nèi)核對象都被觸發(fā),為FALSE時(shí)表示所等待的內(nèi)核對象中有一個(gè)被觸發(fā)時(shí),線程就會(huì)被喚醒。最后一個(gè)參數(shù)與WaitForSingleObject中的那個(gè)一樣。

            WaitForMultipleObjects函數(shù)的返回值告訴調(diào)用函數(shù)為什么它能過繼續(xù)運(yùn)行。可以返回的值包括WAIT_FAILED和WAIT_TIMEOUT。

            如果bWaitAll為True而且所有的對象都被觸發(fā)了,那么返回值是WAIT_OBJECT_0.

            如果bWaitAll為False,那么只要任何一個(gè)對象被觸發(fā),函數(shù)就會(huì)立刻返回。這時(shí)返回值是WAIT_OBJECT_0和WAIT_OBJECT_0+dwCount-1中間的任何一個(gè)值,即我們在第二個(gè)參數(shù)中傳遞給函數(shù)的句柄數(shù)組的一個(gè)索引,用來告訴我們被觸發(fā)的是哪個(gè)對象。



            關(guān)鍵詞:

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉