freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

化工大學(xué)windows多線程編程(存儲(chǔ)版)

  

【正文】 ID param) { for(int i=1。 ? 包含通知狀態(tài)和未通知狀態(tài)內(nèi)核屬性 的內(nèi)核對(duì)象有: ? 進(jìn)程,線程 ,作業(yè),文件,控制臺(tái)輸入 ? 文件修改通知,事件,可等待定時(shí)器 ? 信號(hào)量,互斥量 ? 等待函數(shù):使線程進(jìn)入等待狀態(tài) ,直到一個(gè)對(duì)象變?yōu)橐淹ㄖ獱顟B(tài)。 ? 創(chuàng)建事件內(nèi)核對(duì)象,返回句柄。 CRITICAL_SECTION cs。 coutCreate Thread: Thread runs again.endl。 coutMain Thread: New thread created.endl。 if(input==continue) { coutMain Thread: Let thread continue runendl。 } 互斥量 ? 互斥量是一個(gè)種內(nèi)核對(duì)象,確保線程擁有對(duì)單個(gè)資源的互斥訪問(wèn)權(quán)。 fstream file。 } DWORD WINAPI ThreadFunc2(PVOID param) { HANDLE *phMutex=(HANDLE *)param。 HANDLE hMutex = CreateMutex(NULL,FALSE,DisplayMutex)。 } 信號(hào)量 ? 信號(hào)量是一個(gè)內(nèi)核對(duì)象,可用來(lái)管理大量有限的系統(tǒng)資源 ? 一個(gè)使用計(jì)數(shù) ? 32位整數(shù),最大資源數(shù)量 ? 32位整數(shù),當(dāng)前資源數(shù)量 ? 信號(hào)量使用規(guī)則: ? 當(dāng)前資源數(shù)量大于 0,則等待信號(hào)量的線程獲得資源繼續(xù)運(yùn)行,當(dāng)前資源數(shù)量減 1 ? 當(dāng)前資源數(shù)量等于 0,則等待信號(hào)量的線程繼續(xù)等待,直到有線程釋放信號(hào)量,使當(dāng)前資源數(shù)量大于 0 ? 創(chuàng)建信號(hào)量 信號(hào)量 HANDLE CreateSemaphore( PSECURITY_ATTRIBUTES psa, LONG lInitialCount, // initial count LONG lMaximumCount, // maximum count PCTSTR pszName // object name )。i=100。i++) { WaitForSingleObject(hsem2,INFINITE)。 ? 優(yōu)先級(jí)相同的線程按照時(shí)間片輪流運(yùn)行。 ? SetThreadPriority(GetCurrentThread(),THREAD_PRIORITY_BELOW_NORMAL)。 關(guān)于優(yōu)先級(jí)的操作 ? SetThreadPriority(GetCurrentThread(),THREAD_PRIORITY_IDLE)。 ? 優(yōu)先級(jí)共 32級(jí),是從 0到 31的數(shù)值,稱為基本優(yōu)先級(jí)別。 } DWORD WINAPI ThreadFunc2(PVOID param) { for(int i=1。 int i2=0。 ()。 } return 0。 ReleaseMutex(*phMutex)。 ? 互斥量不同于其它內(nèi)核對(duì)象,互斥對(duì)象有一個(gè)“線程所有權(quán)”的概念。 CloseHandle(hEvent)。 cout。 coutMain Thread: Creating new thread.endl。 WaitForSingleObject(phEvent,INFINITE)。 ? 例子:用戶在主線程輸入命令,控制新建線程的運(yùn)行。 ? 一個(gè)使用計(jì)數(shù) ? 一個(gè)布爾值,指明該事件是自動(dòng)重置事件( false) ,還是人工重置事件( true); ? 一個(gè)布爾值,指明該事件是已通知狀態(tài),還是未通知狀態(tài)。 } 使用內(nèi)核對(duì)象的線程間通信 ? 互鎖函數(shù)和臨界段都是在用戶態(tài)實(shí)現(xiàn)線程通信的,優(yōu)點(diǎn)速度快 ? 用戶態(tài)機(jī)制只能實(shí)現(xiàn)同一進(jìn)程內(nèi)線程通信。 LeaveCriticalSection (cs)。 ()。i=1000。 臨界段 ? 互鎖函數(shù):以原子操作方式修改單個(gè)值 ? 臨界段:以原子方式修改復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。 } DWORD WINAPI ThreadFunc2 (PVOID pvParam) { InterlockedExchangeAdd(g_x,1)。 //全局變量 DWORD WINAPI ThreadFunc1 (PVOID pvParam) { g_x++。 Sleep(100)。 VOID ExitProcess(UINT uExitCode)。 ? Windows不是實(shí)時(shí)的操作系統(tǒng)。 } 2 創(chuàng)建線程的 API函數(shù) ? 創(chuàng)建線程:系統(tǒng)創(chuàng)建一個(gè)線程內(nèi)核對(duì)象。 內(nèi)核對(duì)象及句柄 ? 句柄: 創(chuàng)建內(nèi)核對(duì)象時(shí),函數(shù)的返回值,標(biāo)記該內(nèi)核對(duì)象。進(jìn)程中止執(zhí)行,它使用的內(nèi)核對(duì)象并不一定會(huì)被撤銷。 ? Win32 API即為 Microsoft 32位平臺(tái)的應(yīng)用程序編程接口。 ? 出于安全的考慮,進(jìn)程是不能直接訪問(wèn)內(nèi)核對(duì)象的,操作系統(tǒng)提供了對(duì)應(yīng)的函數(shù)來(lái)對(duì)它們進(jìn)行訪問(wèn)。 ? 內(nèi)核對(duì)象計(jì)數(shù)器為零時(shí),銷毀此內(nèi)核對(duì)象。 ? 關(guān)閉內(nèi)核對(duì)象 ? 無(wú)論進(jìn)程怎樣創(chuàng)建內(nèi)核對(duì)象,在不使用該對(duì)象的時(shí)候都應(yīng)當(dāng)通過(guò) Bool CloseHandle(HANDLE hobj)來(lái)向操作統(tǒng)聲明結(jié)束對(duì)該對(duì)象的訪問(wèn)。 ? 使用要小心,因?yàn)椴恢罆和>€程運(yùn)行時(shí)它在進(jìn)行什么操作。 ? C++類對(duì)象將不被撤銷。 DWORD WINAPI ThreadFunc(PVOID pvParam) { coutCreated thread says 39。 getchar()。 return 0。 LONG InterlockedExchange ()( PLONG plTarget, LONG lValue)。 DWORD WINAPI ThreadFunc1(PVOID param) { for(int i=1。 } int main() { (,ios::out)。 CRITICAL_SECTION cs。i=1000。 DWORD WaitForSingleObject( HANDLE hHandle, DWORD dwMilliseconds )。 HANDLE CreateEvent( P
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1