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

正文內(nèi)容

多線程管理與線程通信操作系統(tǒng)課程設(shè)計論文-資料下載頁

2025-01-16 12:10本頁面
  

【正文】 g,DataOutputStream userList ){ = name。 = dis。 = userList。 } public void run(){ String info。 try{ transmitMessage(name + in!,Server Info)。 while(true){ info = ()。 if((bye)){ DataOutputStream dos = (DataOutputStream)((name))。 (1000)。 ()。 ()。 (name)。 transmitMessage(name + out!,Server Info)。 break。 }else if(()0){ transmitMessage(info,name)。 } } }catch (Exception e) { } } public void transmitMessage(String msg,String name){ Collection doses = ()。 DataOutputStream dos。 for(Object o: doses){ dos = (DataOutputStream)o。 try{ (name + : + msg)。 }catch(Exception e){ } } } }5.系統(tǒng)測試5.1系統(tǒng)功能測試圖6 啟動服務(wù)器ChatServer圖7 啟動客戶服務(wù)器ChatClient圖8 用戶登陸界面注:服務(wù)器要始終打開,不斷監(jiān)聽著客戶端是否有用戶進(jìn)入或交流,一旦服務(wù)器停止,則會出現(xiàn)錯誤。圖9 錯誤關(guān)閉服務(wù)器圖10 再次啟動客戶服務(wù)器圖11 兩個用戶進(jìn)行信息交流圖12 再次啟動客戶服務(wù)器圖13 三個用戶進(jìn)行信息交流圖14 啟動多個用戶,實(shí)現(xiàn)多個用戶信息交流圖15 關(guān)閉用戶關(guān)閉用戶之后,會提示,哪個用戶已經(jīng)退出,通過1秒的時間,它自動地退出。圖16 關(guān)閉用戶之后,其它用戶繼續(xù)信息交流6.總結(jié)在課程設(shè)計的第一個星期里,我認(rèn)真地復(fù)習(xí)了關(guān)于線程的內(nèi)容以及java中關(guān)于Socket通信的內(nèi)容,基本掌握了有關(guān)的知識。在第一天里,主要是構(gòu)思一下思路,寫出需求分析。在寫需求分析分析時,我去網(wǎng)上看了相關(guān)線程通信的內(nèi)容,同時也看了一些有關(guān)通信方面的程序。第二天開始寫基本的框架,把程序分為兩個部分,分為一個客戶端和一個服務(wù)端。在接下來的日子,我一步一步地把程序完善,用的時間比較長,因?yàn)閭€人的知識有限,很多時候要會遇到許多問題。通過這次課程設(shè)計,使我加深了對線程以及多線程知識的掌握。如何實(shí)現(xiàn)多個線程之間的通信,剛開始的時候,我想用一個文件把服務(wù)器和客戶端的交流的內(nèi)容通過FileOutputStream流將它寫進(jìn)一個指定的文件里面,然后再通過FileInputStream流把它讀出來。這樣雖然可以實(shí)現(xiàn),但卻必須在電腦上另外建立一個文件。后來想到了用網(wǎng)絡(luò)編輯,通過Socket與ServerSocket,兩臺計算機(jī)課建立網(wǎng)絡(luò)連接,只需通過Socket并將其連接到指定的IP地址的指定端口號,然后就建立I/O連接進(jìn)行讀和寫的操作。此課程設(shè)計中,我嘗試用不同的方法去做。在輸入多個用戶時,要如何將他們輸出的名字和對應(yīng)的信息一起對應(yīng)起來呢?很常規(guī)的方法就是在線程里面添加線程的名字和信息。后來找到了可以用Hashtable表,它的作用是實(shí)現(xiàn)一個哈希表,該哈希表將鍵映射到相應(yīng)的值,顯示相應(yīng)的信息來自哪個用戶,方法put()將指定 key 映射到此哈希表中的指定 value,通過名字對應(yīng)相應(yīng)的消息。Remove(Object key)從哈希表中移除該鍵及其相應(yīng)的值。如果該鍵不在哈希表中,則此方法不執(zhí)行任何操作。關(guān)于界面,我只是適當(dāng)?shù)膶W(xué)習(xí)一些比較有用的,如組件和容器,布局管理器,監(jiān)聽器,文本組件等。建立事件源組件,調(diào)用其成員addActionListener()與監(jiān)聽器對象建立了監(jiān)聽與被監(jiān)聽的關(guān)系。當(dāng)用戶用戶點(diǎn)擊時,對象會自動觸發(fā)ActionEvent事件,并以該事件對象作為實(shí)參自動調(diào)用相應(yīng)事件處理方法actionPerformed()。通過此次實(shí)驗(yàn),我基本了解了線程通信的原理,在里面我學(xué)到許多東西。而且學(xué)習(xí)到許多知識都是先前不知道的。通過不斷地學(xué)習(xí),不懂的在網(wǎng)上找資料,和同學(xué)老師一起交流,這樣一步一步地尋求答案,把困難解決。最后把程序給做好。 這次實(shí)驗(yàn)實(shí)驗(yàn)還便我意識到,如果以后要做軟件這一行,必須要對每個問題都要認(rèn)真地弄清楚,只有真正的掌握了原理,你才能運(yùn)用自如。另外,一旦你有了思路就馬上把它記下來,不要再猶豫,因?yàn)橛袝r你會突發(fā)想到一些你坐在電腦前無法想到的東西。還要有一顆堅持不懈的心,對于遇到的問題,你最好自己想,把它解決,實(shí)在想不到,去網(wǎng)上找一下資料,看一下別人怎么講。再者,可以和老師,同學(xué)一起交流。最后就是平時要多在網(wǎng)上看一些程序或者找一些程序設(shè)計題,通過做程序設(shè)計題提高自己程序的編寫能力。參 考 文 獻(xiàn)[1] ]嚴(yán)蔚敏,吳偉民等。數(shù)據(jù)結(jié)構(gòu)(C語言版) 。北京:清華大學(xué)出版,2001。[2]譚浩強(qiáng)等。C程序設(shè)計(第三版)。北京:清華大學(xué)出版社,2006。[3]Mark Allen著馮舜璽譯。數(shù)據(jù)結(jié)構(gòu)與算法分析。北京:機(jī)械工業(yè)出版社,2007。[4]孫鐘秀,費(fèi)翔林,駱斌等。操作系統(tǒng)教程。北京:高等教育出版社,2008。[5]張利國,劉偉等。Java SE 應(yīng)用程序設(shè)計。北京:北京理工大學(xué)出版社[6]於東軍,楊靜宇等。Java程序設(shè)計與應(yīng)用開發(fā)。北京:清華大學(xué)出版社,2009。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1