




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
作業(yè)二P163頁(yè)5.35.7P189頁(yè)6.16.26.36.4補(bǔ)充:循環(huán)創(chuàng)建5個(gè)子線程,同步處理將公共變量i加1,i初值為0。5.3線程有哪幾種同步機(jī)制?它們之間的關(guān)系及特點(diǎn)是什么?主要有四種:臨界區(qū),保證在某一個(gè)時(shí)間只有一個(gè)線程可以訪問數(shù)據(jù)的?;コ饬浚褐饕糜诜乐雇瑫r(shí)訪問一個(gè)共享資源。信號(hào)量:通過(guò)計(jì)數(shù)來(lái)限制對(duì)共享資源的訪問量。事件:用于通知其他等待線程某事情已經(jīng)發(fā)生。臨界區(qū)對(duì)象與互斥量對(duì)象相似,但前者只能被同一進(jìn)程的線程使用,后者可以跨進(jìn)程使用。
5.7等待函數(shù)有哪兩個(gè),它們各適用于什么場(chǎng)合?WaitForSingleObject函數(shù)用于等待單個(gè)對(duì)象變?yōu)橛行盘?hào)狀態(tài)。WaitForMultipleObjects函數(shù)可以同時(shí)監(jiān)測(cè)多個(gè)同步對(duì)象變?yōu)橛行盘?hào)狀態(tài)。#include<windows.h>#include<stdio.h>intiCounter=0;CRITICAL_SECTIONgCriticalSection;DWORDthreadA(){EnterCriticalSection(&gCriticalSection);iCounter++;printf("%d\n",iCounter);LeaveCriticalSection(&gCriticalSection);return0;}voidmain(){DWORDThreadId[5];HANDLEhThread[5];InitializeCriticalSection(&gCriticalSection);//創(chuàng)建線程for(inti=0;i<5;i++)hThread[i]=CreateThread(0,0,(LPTHREAD_START_ROUTINE)threadA,NULL,0,&ThreadId[i]);WaitForMultipleObjects(5,hThread,TRUE,INFINITE);DeleteCriticalSection(&gCriticalSection);}6.1簡(jiǎn)述基于MFC的網(wǎng)絡(luò)編程與使用winsockAPI進(jìn)行編程有哪些區(qū)別。在VC++集成編譯環(huán)境下,基于windows編程有兩種途徑:一是使用windowsAPI函數(shù),另一種是MFC?;赪indowsAPI編程是十分麻煩的,因?yàn)槟阈枰?00多個(gè)API函數(shù)打交道,為了簡(jiǎn)化windows編程。微軟又基于windowsAPI編制了MFC類庫(kù)。MFC利用C++語(yǔ)言,對(duì)windowsAPI函數(shù)進(jìn)行了封裝,使編程得以簡(jiǎn)化,同時(shí),還在VC++中集成了AppWizard、classWizard等工具來(lái)支持MFC,進(jìn)一步簡(jiǎn)化windows程序編制。6.2CSocket類與CAsyncSocket類有什么區(qū)別,使用有何不同。CAsyncSocket類,在很低的層次上對(duì)WindowsSocketsAPI進(jìn)行了封裝。CSocket類,從CAsyncSocket類派生,是對(duì)WindowsSocketsAPI的高級(jí)封裝。CSocket類的高級(jí)表現(xiàn)在三個(gè)方面:(1)CSocket結(jié)合archive類來(lái)使用套接字。(2)CSocket管理了通信的許多方面,如字節(jié)順序問題和字符串轉(zhuǎn)換問題。(3)CSocket類為Windows消息的后臺(tái)處理提供了阻塞的工作模式。因此CSocket類使用更加容易。6.3CSocket類與CAsyncSocket類的使用各自有哪些注意事項(xiàng)。CAsyncSocket是異步非阻塞類.CSocket是CAsyncSocket的派生類,是同步阻塞類.
CAsyncSocket適合于對(duì)網(wǎng)絡(luò)通信細(xì)節(jié)很了解,希望利用回調(diào)通知網(wǎng)絡(luò)事件的程序員使用。CSocket類的串行化I/O方式對(duì)程序穩(wěn)定性、編程強(qiáng)度有積極作用,但是不適合數(shù)據(jù)報(bào)網(wǎng)絡(luò)編程。CSocket類的Connect()和Accept()支持阻塞調(diào)用。從不調(diào)用OnConnect()OnSend()事件處理函數(shù)。6.4簡(jiǎn)述CSocket,CArchive和CSocketFile類三者之間的關(guān)系。CSocket與類CSocketFile和CArchive一起來(lái)管理對(duì)數(shù)據(jù)的發(fā)送和接收,也叫串行化I/O方式。CArchive是將用戶的數(shù)據(jù)保存到永久性存儲(chǔ)對(duì)象的一種技術(shù),通過(guò)三者的配合完全可以像讀寫文件一樣讀寫Socket網(wǎng)絡(luò)I/O數(shù)據(jù)。
針對(duì)流式套接字的CSocket類的編程模型。為服務(wù)器端程序設(shè)計(jì)如下:(1)CSocketsockServ;//創(chuàng)建空的服務(wù)器端監(jiān)聽套接字對(duì)象。//用nPort端口,創(chuàng)建監(jiān)聽套接字對(duì)象的套接字句柄。(2)sockServ.Create(nPort);(3)sockServ.Listen();//啟動(dòng)對(duì)于客戶端連接請(qǐng)求的監(jiān)聽。(4)CSocketsockRecv;//創(chuàng)建空的服務(wù)器端連接套接字對(duì)象。//接收客戶端的連接請(qǐng)求,并將其他的任務(wù)轉(zhuǎn)交給連接套接字對(duì)象。sockServ.Accept(sockRecv);(5)CSockFile*file;file=newCSockFile(&sockRecv);//創(chuàng)建文件對(duì)象并關(guān)聯(lián)到連接套接字對(duì)象。(6)CArchive*arIn,arOut;arIn=CArchive(&file,CArchive::load);//創(chuàng)建用于輸入的歸檔對(duì)象,arOut=CArchive(&file,CArchive::store);//創(chuàng)建用于輸出的歸檔對(duì)象。(7)arIn>>dwValue;
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位整修合同范本
- 2025年天津從業(yè)資格證貨運(yùn)題庫(kù)答案大全
- 關(guān)于消防器材購(gòu)買合同范本
- 企業(yè)聯(lián)營(yíng)合作合同范本
- 醫(yī)美手術(shù)合同范本
- 單位公車出租合同范本
- 加高工程合同范本
- 農(nóng)戶合同范本
- 劇組服裝采購(gòu)合同范本
- 共享單車租金合同范本
- 《體育開學(xué)第一課:體育常規(guī)教育》課件
- 上海市高新技術(shù)成果轉(zhuǎn)化項(xiàng)目認(rèn)定申請(qǐng)書
- 休閑體育小鎮(zhèn)規(guī)劃方案
- 海南紅色拓展培訓(xùn)方案
- 鎂合金汽車輪轂的研究與開發(fā)
- 新能源船舶動(dòng)力系統(tǒng)的工程實(shí)踐
- SHAFER氣液聯(lián)動(dòng)執(zhí)行機(jī)構(gòu)培訓(xùn)
- 小學(xué)生守則、日常行為規(guī)范教育實(shí)施方案
- 湖南省六年級(jí)上冊(cè)數(shù)學(xué)期末試卷(含答案)
- 部編版小學(xué)六年級(jí)道德與法治下冊(cè)課堂達(dá)標(biāo)檢測(cè)試卷全冊(cè)含答案
- 巖土工程中的非線性問題分析
評(píng)論
0/150
提交評(píng)論