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

正文內(nèi)容

計(jì)算機(jī)14實(shí)驗(yàn)報(bào)告模板-資料下載頁(yè)

2025-05-14 03:22本頁(yè)面
  

【正文】 (void* retval)。int pthread_attr_init(pthread_attr_t *attr)。int pthread_attr_destroy(pthread_attr_t *attr)。單線程該程序5秒后輸出,sleep期間不再響應(yīng)其它消息或執(zhí)行其他操作。為了更好地處理這種耗時(shí)的操作,我們需要使用多線程編程。執(zhí)行結(jié)果:2. 用信號(hào)量進(jìn)行同步1) 信號(hào)量創(chuàng)建include int sem_init(sem_t *sem, int pshared, unsigned int value)。參數(shù)說(shuō)明:sem:信號(hào)量對(duì)象。pshared:控制信號(hào)量的類型,0表示這個(gè)信號(hào)量是當(dāng)前進(jìn)程的局部信號(hào)量,否則,這個(gè)信號(hào)量就可以在多個(gè)進(jìn)程之間共享。value:信號(hào)量的初始值。2) 信號(hào)量控制include int sem_wait(sem_t *sem)。int sem_post(sem_t *sem)。 sem_post的作用是以原子操作的方式給信號(hào)量的值加1。em_wait的作用是以原子操作的方式給信號(hào)量的值減1,但它會(huì)等到信號(hào)量非0時(shí)才會(huì)開(kāi)始減法操作。如果對(duì)值為0的信號(hào)量調(diào)用sem_wait,這個(gè)函數(shù)就會(huì)等待,直到有線程增加了該信號(hào)量的值使其不再為0。3) 信號(hào)量銷毀include int sem_destory(sem_t *sem)。這個(gè)函數(shù)的作用是,用完信號(hào)量后對(duì)它進(jìn)行清理,清理該信號(hào)量所擁有的資源。如果你試圖清理的信號(hào)量正被一些線程等待,就會(huì)收到一個(gè)錯(cuò)誤。與大多數(shù)Linux函數(shù)一樣,這些函數(shù)在成功時(shí)都返回0。下面編碼實(shí)現(xiàn)輸入字符串,統(tǒng)計(jì)每行的字符個(gè)數(shù),以“end”結(jié)束輸入:程序代碼:執(zhí)行語(yǔ)句:gcc o thread2 pthread執(zhí)行結(jié)果:通過(guò)使用信號(hào)量,阻塞了統(tǒng)計(jì)字符個(gè)數(shù)的線程。四、實(shí)驗(yàn)總結(jié):另一種用在多線程程序中同步訪問(wèn)的方法是使用互斥量。它允許程序員鎖住某個(gè)對(duì)象,使得每次只能有一個(gè)線程訪問(wèn)它。為了控制對(duì)關(guān)鍵代碼的訪問(wèn),必須在進(jìn)入這段代碼之前鎖住一個(gè)互斥量,然后在完成操作之后解鎖它。用于互斥量的基本函數(shù)和用于信號(hào)量的函數(shù)非常相似:include int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t, *mutexattr)。int pthread_mutex_lock(pthread_mutex_t *mutex)。int pthread_mutex_unlock(pthread_mutex_t *mutex)。int pthread_mutex_destory(pthread_mutex_t *mutex)??梢允褂没コ庑盘?hào)量重寫(xiě)上面的程序?qū)?驗(yàn) 報(bào) 告組別姓名高宇同組實(shí)驗(yàn)者實(shí)驗(yàn)項(xiàng)目名稱實(shí)驗(yàn)六網(wǎng)絡(luò)編程實(shí)驗(yàn)日期第16周周四3,4節(jié)教師評(píng)語(yǔ)實(shí)驗(yàn)成績(jī)指導(dǎo)教師一、 實(shí)驗(yàn)?zāi)康?. 理解端口和Socket的概念2. 理解并且掌握面向連接的TCP編程和面向非連接的UDP編程3. I/O多路利用的控制二、 實(shí)驗(yàn)要求 編寫(xiě)一個(gè)基于TCP編程的網(wǎng)絡(luò)應(yīng)用程序三、 實(shí)驗(yàn)原理1. 套接字,區(qū)分不同的程序進(jìn)程間的網(wǎng)絡(luò)通信和連接,主要使用三個(gè)參數(shù)。通信的目的IP地址、使用的傳輸層協(xié)議(TCP或者 UDP)、使用的端口號(hào)。2. 基于TCP協(xié)議的編程常用的函數(shù)基于TCP協(xié)議的編程常用的函數(shù)函數(shù)名功能Socket用于建立一個(gè)socket連接Bind將socket與本機(jī)上的一個(gè)端口綁定,隨后可在該端口監(jiān)聽(tīng)服務(wù)請(qǐng)求Connect面向連接客服程序使用connect函數(shù)來(lái)配置socket,并與遠(yuǎn)程服務(wù)器建立一個(gè)TCP連接LintenListen函數(shù)使socket處于被動(dòng)監(jiān)聽(tīng)模式,并為該socket建立一個(gè)輸入數(shù)據(jù)隊(duì)列,將到達(dá)的服務(wù)請(qǐng)求保存在此隊(duì)列中,直到程序處理他們AcceptAccept函數(shù)讓服務(wù)器接收客戶連接請(qǐng)求Close停止在socket上的任何數(shù)據(jù)操作Send數(shù)據(jù)發(fā)送函數(shù)Recv數(shù)據(jù)接收函數(shù)3. 通信過(guò)程:1) 服務(wù)器調(diào)用socket()、bind()、listen()完成初始化后,調(diào)用accept()阻塞等待,處于監(jiān)聽(tīng)端口的狀態(tài);客戶端調(diào)用socket( )初始化后,調(diào)用connect()發(fā)出同步信號(hào)SYN,并阻塞等待服務(wù)器應(yīng)答,服務(wù)器應(yīng)答一個(gè)同步應(yīng)答信號(hào)SYNACK,客戶端收到后從connect()返回,同時(shí)應(yīng)答一個(gè)ACK,服務(wù)器收到后從accept()返回。2) 建立連接后,TCP協(xié)議提供全雙工的通信服務(wù),但是一般的客戶端/服務(wù)器程序的流程是由客戶端主動(dòng)發(fā)起請(qǐng)求,服務(wù)器被動(dòng)處理請(qǐng)求,一問(wèn)一答的方式3) 如果客戶端沒(méi)有更多的請(qǐng)求了,就調(diào)用close()關(guān)閉連接,就像寫(xiě)端關(guān)閉的管道一樣,服務(wù)器的read()返回0,這樣服務(wù)器就知道客戶端關(guān)閉了連接,也調(diào)用close()關(guān)閉連接四、 實(shí)驗(yàn)內(nèi)容分別編寫(xiě)服務(wù)器端、客戶端程序,服務(wù)器通過(guò)socket連接后,在服務(wù)器上顯示客戶端的IP地址或域名,從客戶端讀字符,然后將每個(gè)字符轉(zhuǎn)換為大寫(xiě)并回送給客戶端??蛻舳税l(fā)送字符串“連接上了”,客戶端把接收到字符串顯示在屏幕上。分析 : 首先調(diào)用socket函數(shù)創(chuàng)建一個(gè)socket,接著調(diào)用bind函數(shù)將其與本機(jī)地址以及一個(gè)本地端口號(hào)綁定,然后調(diào)用函數(shù)listen在相應(yīng)的socket端口上監(jiān)聽(tīng),當(dāng)accept接收到一個(gè)連接服務(wù)請(qǐng)求時(shí),將生成一個(gè)新的socket套接口描述符。利用此套接口服務(wù)器接收并顯示該客戶機(jī)的域名或IP地址,并通過(guò)新的socket向客戶端發(fā)送字符串“連接上了”,最后關(guān)閉該socket實(shí)驗(yàn)過(guò)程如下:178。 分別建立文件夾91s、91c。編寫(xiě)服務(wù)器端makefile工程文件。執(zhí)行make命令。以及編寫(xiě)客戶端的makefile文件以及執(zhí)行。對(duì)代碼進(jìn)行執(zhí)行:32
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1