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

正文內(nèi)容

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

2025-01-22 12:10本頁面
  

【正文】 extArea()。 ()。 ()。 public static void main(String args[]) { ChatClient cc = new ChatClient()。 private TextField tf。 private Frame f。 private DataInputStream dis。public class ChatClient { private String name。import .*。開始開始結(jié)束圖5 Socke通信模型4.3 代碼描述4.3.1 服務(wù)端代碼import .*。newDataOutputStream(())。MyServerReader().start()Socket(,9999)。name = ()。()DataInputStream(())。Eclipse SDK由Eclipse項目生產(chǎn)的工具和來自其它開放源代碼的第三方軟件組合而成。 Eclipse SDK(軟件開發(fā)者包)是Eclipse Platform、JDT和PDE所生產(chǎn)的組件合并,它們可以一次下載。它提供建造塊和構(gòu)造并運行集成軟件開發(fā)工具的基礎(chǔ)。Eclipse是一個開放源代碼的軟件開發(fā)項目,專注于為高度集成的工具開發(fā)提供一個全功能的、具有商業(yè)品質(zhì)的工業(yè)平臺。Eclipse的本身只是一個框架平臺,但是眾多插件的支持使得Eclipse擁有其他功能相對固定的IDE軟件很難具有的靈活性。 運行環(huán)境Eclipse簡介Eclipse是著名的跨平臺的自由集成開發(fā)環(huán)境(IDE)。Remove(Object key)從哈希表中移除該鍵及其相應(yīng)的值。通過線程自動的將其寫入到服務(wù)端的內(nèi)容顯示到各個用戶去。4.系統(tǒng)實現(xiàn)4.1 原理通過Socket建立連接,以ChatServer作為服務(wù)器,作為一個中間平臺進行進行交流,然后通過ChatClient作為客戶端,建立多個用戶,分別輸入用戶名登陸,輸入交流的信息。其主要優(yōu)勢在于充分利用了CPU的空閑時間片,可以用盡可能少的時間來對用戶的要求做出響應(yīng),使得進程的整體運行效率得到較大提高,同時增強了應(yīng)用程序的靈活性。,稱為多線程. 線程和進程的區(qū)別在于,子進程和父進程有不同的代碼和數(shù)據(jù)空間,而多個線程則共享數(shù)據(jù)空間,發(fā)揮利用,根據(jù)具體情況而定. 線程的運行中需要使用計算機的內(nèi)存資源和CPU。所以線程基本上是輕量級的進程,它負責在單個程序里執(zhí)行多任務(wù)。線程是一組指令的集合,或者是程序的特殊段,它可以在程序里獨立執(zhí)行。每個進程包含一到多個線程。3.概要設(shè)計3.1 整體設(shè)計框架本程序主要分為兩部分,一部分為TestServer端(服務(wù)端),主要用于監(jiān)聽通信端口,接收客戶端連接請求,每當有新用戶上線時會進行如下處理:1.打開與該用戶相關(guān)聯(lián)的I/O流2.接收新用戶名3.將新用戶信息(包括用戶名和對應(yīng)的輸出流對象)加入到在線用戶列表中去4.啟動一個新的線程,該線程負責監(jiān)聽并轉(zhuǎn)發(fā)此新用戶的發(fā)言信息另一部分為TestClient端(客戶端),主要是用于創(chuàng)建Socket對象,連接服務(wù)器的9999端口,建立連接后,通過創(chuàng)建新進程進行多個用戶之間的通信。在當今信息世界里,聊天工具的使用是非常頻繁的,如MSN、校內(nèi)通,之類的聊天工具許多人都正在使用。建立連接時所需的尋址信息包括:遠程計算機的機器名或IP地址;試圖連接的對方端口號。這和電話系統(tǒng)類似,必須由一方發(fā)起呼叫,而此時另一方必須處于等待呼叫狀態(tài)。建立網(wǎng)絡(luò)連接之后,使用與Socket相關(guān)聯(lián)的I/O流一旦打開,其使用方式和先前其它I/O流的使用方式完全相同。每個Socket對象都封裝了相應(yīng)的一個輸入流和一個輸出流對象。客戶端有兩種,通常用來實現(xiàn)“客戶—服務(wù)器”連接和數(shù)據(jù)傳輸。每個線程都是某個特定Thread對象所對應(yīng)的run()方法來完成其操作的,方法run()稱為線程體。可以形象的理解為,在一個java程序內(nèi)部虛擬了多臺計算機,每臺計算機對應(yīng)一個線程,有自己的CPU,可以獲取所需要的代碼和數(shù)據(jù),因此能獨立執(zhí)行任務(wù),相互間還可以共用代碼和數(shù)據(jù)。允許進程包含多個可并發(fā)的線程,這些線程共享進程所獲得的主存空間和資源,可以完成某一項任務(wù)而協(xié)同工作。主要分為兩部分,一部分為Seriver Socket端和Client Socket端。如果你對一個線程連續(xù)若干次執(zhí)行SuspendThread(),則需要連續(xù)執(zhí)行相應(yīng)次的ResumeThread()來恢復(fù)線程的運行。對于線程的優(yōu)先權(quán)層次的設(shè)置,CwinThread類沒有提供相應(yīng)的函數(shù),但是可以通過Win32 SDK函數(shù)GetPriorityClass()和SetPriorityClass()來實現(xiàn)。 ?。ǘ┚€程的優(yōu)先級  以下的CwinThread類的成員函數(shù)用于線程優(yōu)先級的操作:int GetThreadPriority();BOOL SetThradPriority()(int nPriority);  上述的二個函數(shù)分別用來獲取和設(shè)置線程的優(yōu)先級,這里的優(yōu)先級,是相對于該線程所處的優(yōu)先權(quán)層次而言的,處于同一優(yōu)先權(quán)層次的線程,優(yōu)先級高的線程先運行;處于不同優(yōu)先權(quán)層次上的線程,誰的優(yōu)先權(quán)層次高,誰先運行。最后調(diào)用AfxBeginThread()函數(shù)的一個版本:CWinThread* AfxBeginThread( CRuntimeClass* pThreadClass, int nPriority = THREAD_PRIORITY_NORMAL, UINT nStackSize = 0, DWORD dwCreateFlags = 0, LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL ) 啟動該用戶界面線程,其中第一個參數(shù)為指向定義的用戶界面線程類指針變量,第二個參數(shù)為線程的優(yōu)先級,第三個參數(shù)為線程所對應(yīng)的堆棧大小,第四個參數(shù)為線程創(chuàng)建時的附加標志,缺省為正常狀態(tài),如為CREATE_SUSPENDED則線程啟動后為掛起狀態(tài)。   線程的管理和操作
點擊復(fù)制文檔內(nèi)容
教學教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1