網(wǎng)絡(luò)編程技術(shù)論文
網(wǎng)絡(luò)編程技術(shù)論文
科學(xué)技術(shù)的不斷發(fā)展推動了網(wǎng)絡(luò)信息化時代的發(fā)展,隨著計算機(jī)技術(shù)不斷的發(fā)展,各種網(wǎng)絡(luò)編程技術(shù)日新月異。下面是由學(xué)習(xí)啦小編整理的網(wǎng)絡(luò)編程技術(shù)論文,謝謝你的閱讀。
網(wǎng)絡(luò)編程技術(shù)論文篇一
Java多線程技術(shù)的網(wǎng)絡(luò)編程探討
摘 要:作為Java中的主要應(yīng)用型技術(shù),多線程技術(shù)具有并行機(jī)制、交互性能和實(shí)時控制等特征。因此,它具有強(qiáng)大的安全性能,并據(jù)此而被廣泛應(yīng)用在網(wǎng)絡(luò)編程當(dāng)中。因此,本文將圍繞Java多線程技術(shù)展開進(jìn)一步的討論,首先針對其進(jìn)行了簡單的介紹,讓人們對此有一個較為清晰的了解,然后分析了如何在網(wǎng)絡(luò)編程中應(yīng)用Java的多線程技術(shù)進(jìn)行編程,從而使得編程開發(fā)人員可以有效提高程序運(yùn)行的效率。
關(guān)鍵詞:Java;多線程技術(shù);網(wǎng)絡(luò)編程
中圖分類號:TP311.1
由SUN公司開發(fā)的一種全新的計算概念Java,它首先是一種程序設(shè)計語言,具有較大的安全性能,并能夠最大限度的利用網(wǎng)絡(luò)進(jìn)行程序的傳輸。因此,Java是當(dāng)前適合于分布式計算的一種新生代網(wǎng)絡(luò)應(yīng)用開發(fā)語言。由于Java提供了很多系統(tǒng)性模塊來支持基于TCP/IP協(xié)議的編程,因此,它在訪問網(wǎng)絡(luò)資源的時候,就像存取本地文件一樣方便快捷。因此,我們將在本文中具體探討下Java多線程技術(shù)在網(wǎng)絡(luò)編程中的具體應(yīng)用,從而讓人更好的理解其可移植性、健壯性、安全性等很高的性能。
1 Java多線程技術(shù)概述
Java設(shè)計語言的思想基礎(chǔ)就是當(dāng)前的大部分操作系統(tǒng)都已經(jīng)實(shí)現(xiàn)了多線程調(diào)度。因此,Java虛擬機(jī)都可以對類庫進(jìn)行多線程設(shè)計。一般來說,多線程就是指計算機(jī)運(yùn)行程序時所具有的多個控制流。即使是最簡單的Applet,它也是由多個線程來共同完成的。因此,我們說,Java語言支持應(yīng)用程序進(jìn)程內(nèi)部的多個執(zhí)行線程的并發(fā)執(zhí)行。在這樣一個多線程程序中,它可以分配一個線程來讀取相關(guān)的數(shù)據(jù),同時讓另外一個線程來對數(shù)據(jù)進(jìn)行處理,又讓第三個線程把數(shù)據(jù)傳輸?shù)綀D形卡上去。這三個線程可以共同運(yùn)行。那么,我們就會發(fā)現(xiàn),數(shù)據(jù)讀取的同時,還可以處理數(shù)據(jù),即大大提高了程序的運(yùn)行性能。
Java的這種多線程技術(shù),其線程屬性也是較為特殊的。我們要想了解其并更好的使用其,就應(yīng)該對Java實(shí)時系統(tǒng)等有一個較為全面且清晰的了解,還要更多的了解線程體、線程的生命周期、線程組、幽靈線程等。由于所有操作都是發(fā)生在線程體中,我們應(yīng)該分解出幾種不同的線程狀態(tài),即新線程狀態(tài)、可運(yùn)行狀態(tài)、非運(yùn)行狀態(tài)。而線程調(diào)度是JVM對運(yùn)行的多個線程進(jìn)行系統(tǒng)級的協(xié)調(diào),數(shù)字越大表明線程的級別越高。一般來說,Java將線程的優(yōu)先級分為10個等級,分別使用了分別用1-10的數(shù)字進(jìn)行標(biāo)示。其中,高優(yōu)先級的線程會在低優(yōu)先級線程之前得到執(zhí)行,優(yōu)先級相同的線程則會采用輪轉(zhuǎn)的方式來分配CPU時間片。此外,在Java中,每一個線程都可以成為幽靈線程,它是應(yīng)用中典型的獨(dú)立線程,其方法一般是通過無限循環(huán)來等待服務(wù)請求。而Java線程中的每一個都是線程組中的成員,這些不同的線程組會提供一種機(jī)制來讓多種線程集中到一個對象內(nèi)部,并對它們進(jìn)行整體控制與操作。Java線程的實(shí)現(xiàn)往往是依據(jù)多線程應(yīng)用程序繼承或?qū)崿F(xiàn)對象的不同,采取線程類Thread和Runnable接口兩種方式來實(shí)現(xiàn)的。應(yīng)該來說,Java多線程技術(shù),有著自身的優(yōu)勢和劣勢。就優(yōu)勢來說,它能夠帶來更好的交互性能和實(shí)時控制性能,還具有更快的程序響應(yīng)速度。當(dāng)沒有處理任務(wù)出現(xiàn)的時候,它可以把處理器的時間分配給其他方面的任務(wù),還可以隨時停止任務(wù),進(jìn)而將各個任務(wù)進(jìn)行優(yōu)化。但是,它也有著一定的劣勢,即當(dāng)在進(jìn)行資源共享時,其程序運(yùn)行的速度較慢,還對線程管理要消耗額外的CPU開銷,甚至還會產(chǎn)生死鎖等多線程的不良癥狀。
2 Java多線程技術(shù)的網(wǎng)絡(luò)編程具體應(yīng)用
Java多線程技術(shù)在網(wǎng)絡(luò)編程中的具體應(yīng)用,其實(shí)質(zhì)就是指將程序任務(wù)分成幾個并行的子任務(wù)分別進(jìn)行的編程。事實(shí)上,對于Java來說,我們把多線程機(jī)制蘊(yùn)含在語言設(shè)計中是其最為顯著也是最為重要的一個特征。在每一個進(jìn)程中,都有多個線程。這些線程在操作系統(tǒng)的共同調(diào)度下實(shí)現(xiàn)了并發(fā)執(zhí)行,可以占有整個系統(tǒng)性資源。那么,為了減少并發(fā)程序設(shè)計的困難,提高多線程應(yīng)用程序的執(zhí)行效率,我們應(yīng)該把Java多線程技術(shù)應(yīng)用到編程當(dāng)中去,從而使得程序開發(fā)人員可以利用多線程編程接口來寫出支持多線程的應(yīng)用程序。事實(shí)上,Java在網(wǎng)絡(luò)編程方面的功能是非常強(qiáng)大的,它可以使得Java的小程序能在網(wǎng)絡(luò)上完全地傳送和運(yùn)行,還可以擴(kuò)充Web服務(wù)器功能的Servlet等技術(shù),并監(jiān)聽客戶端的連接請求和響應(yīng)連接,這些都是其廣泛流行的主要原因所在。
那么,Java多線程技術(shù)如何在網(wǎng)絡(luò)編程中實(shí)現(xiàn)具體應(yīng)用呢?具體來說,我們應(yīng)該首先建立服務(wù)器類的try。這是因?yàn)榉?wù)器是客戶/服務(wù)器模型中業(yè)務(wù)過程處理的核心所在,我們要能夠使得在出現(xiàn)異常服務(wù)時,能夠及時多個請求同時到達(dá)服務(wù)器的情況。一般來說,我們有兩種服務(wù)會等待用戶連接器實(shí)現(xiàn)方案,即并發(fā)服務(wù)器和反復(fù)服務(wù)器。其中,前者有一個接收用戶連接請求點(diǎn)時隨系統(tǒng)啟動而產(chǎn)生的一個守護(hù)線程,后者則是并發(fā)服務(wù)器實(shí)現(xiàn)的關(guān)鍵所在。其次,我們還應(yīng)該在建立服務(wù)器線程類中,按照先來先服務(wù)的原則進(jìn)行服務(wù)器的響應(yīng),這就需要使用Java多線程技術(shù)來實(shí)現(xiàn)這種服務(wù)器類的設(shè)計工作。該線程的產(chǎn)生到消亡都是只為一個用戶提供服務(wù)。此外,Java多線程技術(shù)還應(yīng)該在網(wǎng)絡(luò)編程中建立客戶端類的程序。所謂客戶端就是指由一些Java Apple小程序和Java程序組成的,它們的主要功能就是現(xiàn)用戶界面以及和服務(wù)器的通信控制。根據(jù)它們不同的功能進(jìn)行劃分的話,我們可以把它們分為兩個相對獨(dú)立的部分,即主要管理圖形用戶界面的第一部分和實(shí)現(xiàn)和服務(wù)器的通信的第二部分,并建立客戶端線程類,進(jìn)而實(shí)現(xiàn)客戶端與該用戶有關(guān)的信息的發(fā)送與接收等。
因此,Java多線程技術(shù)的網(wǎng)絡(luò)應(yīng)用體系結(jié)構(gòu)主要表現(xiàn)為客戶/服務(wù)器模式,其中的服務(wù)器端主要負(fù)責(zé)數(shù)據(jù)和圖像等的存儲、維護(hù)、管理以及傳遞,客戶端則負(fù)責(zé)人機(jī)界面的操作、送出需求及顯示收回的數(shù)據(jù)。而網(wǎng)絡(luò)應(yīng)用體系結(jié)構(gòu)則分為Socket客戶和Socket服務(wù)器。其中,Socket客戶以Java Applet形式呈現(xiàn),Socket機(jī)制則是面向客戶/服務(wù)器模型設(shè)計的雙向鏈路的一端,其通常用來實(shí)現(xiàn)客戶端和服務(wù)器端的連接工作,它分為有聯(lián)接和無聯(lián)接兩種通訊方式,可以在不同的主機(jī)和進(jìn)程之間轉(zhuǎn)發(fā)進(jìn)行。應(yīng)該來說,服務(wù)器端Socket程序是網(wǎng)絡(luò)應(yīng)用程序的核心,而客戶端Socket應(yīng)用程序與服務(wù)器端Socket應(yīng)用程序在流程上很相似。當(dāng)我們在進(jìn)行程序調(diào)試時,應(yīng)該讓兩端的端口號設(shè)為一致,建立連接后要確定輸入和輸出流,并不同時使用一個端口。
3 結(jié)束語
綜上所述,多線程程序的編寫本來是一件頗為復(fù)雜繁瑣且不太安全的事情。但是,自從出現(xiàn)了Java多線程技術(shù)之后,程序開發(fā)人員就可以充分利用該技術(shù)來編寫出更為安全、高效的多線程應(yīng)用程序,也使得多線程編寫程序變得簡單易行了。因此,我們利用Java多線程技術(shù)進(jìn)行網(wǎng)絡(luò)編程,是網(wǎng)絡(luò)上很多應(yīng)用程序得以實(shí)現(xiàn)的有效途徑,這也使得該技術(shù)得以在全世界范圍內(nèi)廣泛開展與應(yīng)用起來。
參考文獻(xiàn):
[1]金勇華,曲俊生.Java網(wǎng)絡(luò)高級編程[M].北京:人民郵電出版社,2001.
[2]劉巍,唐學(xué)兵.利用Java的多線程技術(shù)實(shí)現(xiàn)數(shù)據(jù)庫的訪問[J].計算機(jī)應(yīng)用,2002,22(12):121-123.
[3]張衛(wèi)民.Java語言及其應(yīng)用[M].北京:清華大學(xué)出版社,1996.
作者簡介:阿不都艾尼・阿不都肉素力(1975-),男,維吾爾族,新疆烏魯木齊人,計算機(jī)應(yīng)用技術(shù)碩士,研究方向:軟件開發(fā)、網(wǎng)絡(luò)編程。
作者單位:新疆職業(yè)大學(xué)信息技術(shù)學(xué)院,烏魯木齊 830001
點(diǎn)擊下頁還有更多>>>網(wǎng)絡(luò)編程技術(shù)論文