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

正文內(nèi)容

windows程序的執(zhí)行單元(留存版)

2025-07-09 19:41上一頁面

下一頁面
  

【正文】 行單元 class CRapidFinder { public: CRapidFinder(int nMaxThread)。 第 3章 Win32 程序的執(zhí)行單元 AfxBeginThread AfxBeginThread creates a new CWinThread object, calls its CreateThread function to start executing the thread, and returns a pointer to the thread 沒有返回線程句柄。 // CTypedSimpleList類模板要使用此成員,指向下一個(gè)節(jié)點(diǎn)的指針 char szDir[MAX_PATH]。 ( 1)主線程調(diào)用 TlsAlloc函數(shù)為線程局部存儲(chǔ)分配索引,函數(shù)原型為: DWORD TlsAlloc(void)。 int x。 SetEvent(g_putApple)。 cout put apple!\n。 } 在主線程中等待子線程的結(jié)束,子線程的結(jié)束條件是 g_bContinue=false,這就保證了在一個(gè)子線程中, g_nCount1和 g_nCount2執(zhí)行了相同多次。 臨界區(qū)對(duì)象 事件內(nèi)核對(duì)象 線程局部存儲(chǔ) (TLS) 第 3章 Win32 程序的執(zhí)行單元 線程同步 解決同步問題的方法 : ? 臨界區(qū)對(duì)象 :線程獨(dú)占 ,等待的線程掛起 ,不可調(diào)度 ? 互鎖函數(shù) :單一 變量同步問題 ? 事件內(nèi)核對(duì)象 :是否 ”受信 ”,通知 ? 信號(hào)量內(nèi)核對(duì)象 :信號(hào)量計(jì)數(shù) ,多個(gè)線程共享 ,用于Socket(套接字 )程序中線程同步 ? 互斥內(nèi)核對(duì)象 :線程獨(dú)占 ,等待的線程可調(diào)度 ,用于保護(hù)內(nèi)存 第 3章 Win32 程序的執(zhí)行單元 臨界區(qū)對(duì)象 1. 為什么要線程同步 ? ? 當(dāng)多個(gè)線程在同一個(gè)進(jìn)程中執(zhí)行時(shí),可能有不止一個(gè)線程同時(shí)執(zhí)行同一段代碼,訪問同一段內(nèi)存中的數(shù)據(jù)。 ? 每次對(duì) CreateThread的成功調(diào)用,系統(tǒng)都會(huì)在內(nèi)部為新的線程分配一個(gè)內(nèi)核對(duì)象。第 3章 Win32 程序的執(zhí)行單元 第 3章 Windows程序的執(zhí)行單元 —— 線程 第 3章 Win32 程序的執(zhí)行單元 多線程 線程的創(chuàng)建 線程內(nèi)核對(duì)象 線程的終止 線程的優(yōu)先級(jí) C/C++運(yùn)行期庫 第 3章 Win32 程序的執(zhí)行單元 線程的創(chuàng)建 ? 多線程并發(fā)執(zhí)行, os為其輪流分配 cpu時(shí)間片 ? 一般情況,主線程接受用戶輸入,顯示運(yùn)行結(jié)果;新創(chuàng)建的線程來處理長時(shí)間的操作,如讀寫文件、訪問網(wǎng)絡(luò)等,這樣即便程序忙于繁重的工作也可以由專門的線程響應(yīng)用戶命令 ? 每個(gè)線程必須擁有入口點(diǎn)函數(shù),主線程的為 main。 ? 系統(tǒng)對(duì)線程的管理是依靠訪問線程內(nèi)核對(duì)象來實(shí)現(xiàn)的。 ? 線程同步產(chǎn)生的問題 ——一個(gè)錯(cuò)誤的例子 03ConntErr → 線程函數(shù) ThreadFunc同時(shí)增加全局變量 g_nCount1和g_nConnt2的計(jì)數(shù),原則上兩個(gè)變量的值應(yīng)該相等,但由于是兩個(gè)線程同時(shí)訪問這兩個(gè)全局變量,最終 g_nCount1和 g_nConnt2的值卻不相等。產(chǎn)生不一致的唯一原因是加 1的操作被打斷 第 3章 Win32 程序的執(zhí)行單元 事件內(nèi)核對(duì)象 ? 事件內(nèi)核對(duì)象主要用于線程間通信(同步就是一種簡(jiǎn)單的通信,指通信的數(shù)據(jù)量少) ? 因?yàn)樗且粋€(gè)內(nèi)核對(duì)象,所以可以跨進(jìn)程使用,依靠通信,使各線程的工作協(xié)調(diào)進(jìn)行,達(dá)到同步的目的。 SetEvent(g_eatApple)。 SetEvent(g_dish)。 hThread[0] = (HANDLE)_beginthreadex(NULL, 0, PutAppleThread, (void *)amp。 // 返回一個(gè) TLS索引 第 3章 Win32 程序的執(zhí)行單元 線程局部存儲(chǔ) (TLS) 系統(tǒng)為每一個(gè)進(jìn)程都維護(hù)著一個(gè)長度為TLS_MINIMUM_AVAILABLE的位數(shù)組, TlsAlloc的返回值就是數(shù)組的一個(gè)下標(biāo)(索引)。 // 要查找的目錄 }。 CWinThread* AfxBeginThread ( AFX_THREADPROC pfnThreadProc, LPVOID pParam, int nPriority = THREAD_PRIORITY_NORMAL, UINT nStackSize = 0, DWORD dwCreateFlags = 0, LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL )。當(dāng)創(chuàng)建對(duì)象時(shí), CNoTrackObject類中重載版本的 operator new會(huì)自動(dòng)將對(duì)象里各成員的值初始化為 0。初始狀態(tài)下,此位數(shù)組成員的值都是 FREE,表示未被使用。 hThread[1] = (HANDLE)_beginthreadex(NULL, 0, PutBananaThread, (void *)amp。 } 第 3章 Win32 程序的執(zhí)行單元 //吃香蕉 UINT WINAPI EatBananaThread(PVOID pvParam) { for(int i = 0。 } return 0。 ? 使用 CreateEvent函數(shù)創(chuàng)建事件對(duì)象。 ? 解決同步問題,就要保證整個(gè)存取過程的獨(dú)占性。 第 3章 Win32 程序的執(zhí)行單元 2. 線程創(chuàng)建例子中使用計(jì)數(shù) ? 調(diào)用 CreateThread后,使用計(jì)數(shù) =2,線程函數(shù)返回,系統(tǒng)將使使用計(jì)數(shù)減少 1
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1