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

正文內容

化工大學windows多線程編程(存儲版)

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

下一頁面
  

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