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

正文內(nèi)容

第11章多線程編程-資料下載頁

2025-09-30 15:11本頁面
  

【正文】 斥對象的擁有者線程會在結(jié)束時,放棄對其使用權(quán),其他線程可以接著擁有這個互斥對象。而臨界區(qū)不可以。 應(yīng)用案例 —— 使用多線程完善文件分割工具 ? 在前面章節(jié)的應(yīng)用案例中,已經(jīng)制作了一個文件分割工具。但是程序存在一個問題,就是當(dāng)單擊“ 開始分割 ” 或 “ 開始合并 ” 的時候,程序會無法響應(yīng),直到操作完成才能繼續(xù)操作。本節(jié)將通過線程來解決以上問題。 案例效果圖 ? 程序界面與第 5章的程序界面基本一致。當(dāng)選擇“ 分割文件 ” 選項(xiàng)卡時,程序界面如圖所示。當(dāng)選擇 “ 合并文件 ” 選項(xiàng)卡時,程序界面如圖所示。 需要掌握的知識點(diǎn) ? 本案例中需要掌握的知識點(diǎn)如下。 ? 對話框編程基礎(chǔ); ? 文件操作基礎(chǔ); ? 多線程編程; ? 基本控件的使用。 開發(fā)過程 ? 由于本案例屬于先前案例的升級版,所以可以在先前案例中稍作修改,同時也避免了界面設(shè)計(jì)的麻煩。具體操作步驟如下。 ? ( 1)創(chuàng)建第 5章應(yīng)用案例工程復(fù)本,將項(xiàng)目目錄重命名為eg_6_filesplitter_plus。 ? ( 2)打開工程,首先修改 CFileSplitter類的聲明,下列代碼中粗體字表示修改部分。 ? ( 3)在構(gòu)造函數(shù)中初始化新添加的成員 pTargetWnd。 ? ( 4)修改 Split與 Join,只在其中創(chuàng)建線程,分割與合并的工作交給線程處理。 ? ( 5)編寫線程函數(shù),完成分割與合并的功能。 ? ( 6)至此,文件分割類 CFileSplitter已經(jīng)修改完畢。 ? ( 7)當(dāng)分割文件結(jié)束, CFileSplitter對象會向分割窗口發(fā)送UM_SPLITOK消息,手動添加 UM_SPLITOK消息處理。 ? ( 8)當(dāng)合并文件結(jié)束, CFileSplitter對象會向分割窗口發(fā)送UM_JOINOK消息,手動添加 UM_JOINOK消息處理。 小結(jié) ? 本章主要學(xué)習(xí)了多線程編程的相關(guān)知識,了解了多線程的優(yōu)點(diǎn)及多線程同步、死鎖等相關(guān)概念,最后通過一個應(yīng)用案例,使用多線程解決前面案例中的不足。 ? 使用多線程提高了程序的并發(fā),同時也帶來管理上的復(fù)雜度,所以多線程編程不是任何時候都適用的。當(dāng)多個線程對同一數(shù)據(jù)進(jìn)行讀寫時,必須為此數(shù)據(jù)采取同步措施。如果將線程函數(shù)定義為類成員,必須將函數(shù)定義為 static函數(shù)。
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1