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

正文內(nèi)容

化工大學(xué)windows多線程編程-全文預(yù)覽

2025-01-12 10:52 上一頁面

下一頁面
  

【正文】 itAll, DWORD dwMilliseconds )。 ? 包含通知狀態(tài)和未通知狀態(tài)內(nèi)核屬性 的內(nèi)核對象有: ? 進程,線程 ,作業(yè),文件,控制臺輸入 ? 文件修改通知,事件,可等待定時器 ? 信號量,互斥量 ? 等待函數(shù):使線程進入等待狀態(tài) ,直到一個對象變?yōu)橐淹ㄖ獱顟B(tài)。 LeaveCriticalSection (cs)。 } DWORD WINAPI ThreadFunc2(PVOID param) { for(int i=1。i++) { EnterCriticalSection (cs)。 } 加上臨界段 include include fstream fstream file。 HANDLE hThread[2] = {ThreadHandle1,ThreadHandle2}。 } return 0。 } return 0。 ? 多個線程訪問同一個臨界區(qū)的原則: ? 一次最多只能一個線程停留在臨界區(qū)內(nèi); ? 不能讓一個線程無限地停留在臨界區(qū)內(nèi),否則其它線程將不能進入該臨界區(qū) 臨界段 相關(guān) API函數(shù) ? 首先定義一個臨界段對象(通常全局變量) CRITICAL_SECTION cs ? 臨界段對象初始化 InitializeCriticalSection (cs) ? 進入臨界段 EnterCriticalSection (cs) ? 離開臨界段 LeaveCriticalSection (cs) ? 釋放臨界段對象 DeleteCriticalSection (cs) 臨界段 例 include include fstream fstream file。 LONG InterlockedCompareExchange ()( PLONG plDestination, LONG lExchange, LONG lComparand)。 } 互鎖函數(shù) ? 以原子操作方式用第二個參數(shù)的值取代第一個參數(shù)的當(dāng)前值。 //全局變量 DWORD WINAPI ThreadFunc1 (PVOID pvParam) { InterlockedExchangeAdd(g_x,1)。 } DWORD WINAPI ThreadFunc2 (PVOID pvParam) { g_x++。(同步) ? Windows線程通信方法主要有互鎖函數(shù)、臨界段、 事件、互斥量、信號量 線程間通信 1. 互鎖函數(shù) 2. 臨界段 3. 事件 4. 互斥量 5. 信號量 互鎖函數(shù) ? 互鎖函數(shù)是用來解決原子訪問的,主要針對變量的原子訪問; ? 原子訪問:當(dāng)線程訪問資源時,能夠確保沒有其它線程同時訪問相同的資源。Hello World!endl。 return 0。 ④ 在進程終止運行時撤銷線程 4 一個簡單的 Windows多線程程序(例 1) include include iostream using namespace std。 BOOL TerminateThread(HANDLE hThread,DWORD dwExitCode)。 ? 線程調(diào)用這個函數(shù),強制線程終止運行; ? 操作系統(tǒng)清除該線程使用的所有系統(tǒng)資源。 3 操作線程的 API ? 使線程睡眠 VOID Sleep (DWORD dwMilliseconds )。 2 創(chuàng)建線程的 API函數(shù) NULL 0 函數(shù)地址 函數(shù)參數(shù)NULL 控制創(chuàng)建線程標(biāo)志 CREATE_SUSPENDED; 0 線程 ID ? 暫停線程 DWORD SuspendThread(HANDLE hThread) ? 返回值是線程的前一個暫停計數(shù) ? 暫停計數(shù):是線程內(nèi)核對象的一個內(nèi)部值。 ? 主線程的進入點函數(shù) 進入點 應(yīng)用程序類型 WinMain 需要 ANSI字符和字符串的 GUI應(yīng)用程序 wWinMain 需要 Unicode字符和字符串的 GUI應(yīng)用程序 Main 需要 ANSI字符和字符串的 CUI應(yīng)用程序 Wmain 需要 Unicode字符和字符串的 CUI應(yīng)用程序 – 線程函數(shù)的返回值是該線程的退出代碼 – 線程函數(shù)應(yīng)盡可能使用函數(shù)參數(shù)和局部變量 線程函數(shù) 線程的入口點 DWORD WINAPI ThreadFunc ( PVOID pvParam ) { DWORD dwResult = 0。 內(nèi)核對象及句柄 ? 內(nèi)核對象創(chuàng)建 ? 當(dāng)利用 creat*函數(shù)來創(chuàng)建內(nèi)核對象時,調(diào)用該函數(shù)的時候內(nèi)核就為該對象分配一個內(nèi)存塊,并進行初始化,然后內(nèi)核再掃描該進程的句柄表,初始化一條記錄并放在句柄表中。 ? 大多數(shù)應(yīng)用程序通過傳 NULL值,創(chuàng)建具有默認安全性的對象。 ? 進程調(diào)用時,計數(shù)器增 1,調(diào)用結(jié)束,計數(shù)器減 1。編程時經(jīng)常要創(chuàng)建、打開和操作它們。 ? 32與 64位 API函數(shù)聲明上沒有明顯區(qū)別,但 64位編程是需要下載相應(yīng)的平臺 SDK API ( Application Programming Interface ) ? 直接用 win32 API編寫的應(yīng)用程序,程序的執(zhí)行代碼小,運行效率高 ? MFC用類庫的方式將 win32 API 進行封裝 , 以類的方式提供給開發(fā)者 ? Framework類庫提供了所有應(yīng)用程序模型都要使用的一個面向?qū)ο蟮?API集合 內(nèi)核對象及句柄 ? 當(dāng)應(yīng)用程序要與系統(tǒng)設(shè)備進行交互的時候,將使用到內(nèi)核對象。第二章 Windows多線程編程 內(nèi)容 1. Windows操作系統(tǒng)的一些基本知識 2. Win32 API線程庫 3. 線程間通信 Windows操作系統(tǒng)的一些基本知識 1. API 2. 內(nèi)核對象及句柄 API ( Application Programming Interface ) ? API操作系統(tǒng)留給應(yīng)用程序的一個調(diào)用接口,應(yīng)用程序通過調(diào)用操作系統(tǒng)的 API 而使操作系統(tǒng)去執(zhí)行應(yīng)用程序的命令(動作)。 Win32平臺上運行的應(yīng)用程序都可以調(diào)用這些函數(shù)。 ? 內(nèi)核對象包括: 存取符號對象、事件對象、文件對象、作業(yè)對象、互斥對象、管道對象、等待計時器對象等都是內(nèi)核對象。 ? 每個內(nèi)核對象
點擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1