亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        WEB項(xiàng)目中JAVA多線程的運(yùn)用

        2014-07-24 04:19:36廖先琴
        無線互聯(lián)科技 2014年5期
        關(guān)鍵詞:服務(wù)器端公平性線程

        廖先琴

        摘 要:JAVA語言是一種應(yīng)用非常廣泛的語言,從桌面應(yīng)用程序到WEB應(yīng)用都有其身影的存在,WEB項(xiàng)目中的服務(wù)器端就有如Servlet、JSP和數(shù)目眾多的第三方框架支持,JAVA能在WEB應(yīng)用中爭得一席之地與它的各種特性是分不開的,其中就包括它出色的多線程機(jī)制。本文將在眾多文獻(xiàn)基礎(chǔ)上,探討WEB項(xiàng)目中如何應(yīng)用好JAVA的多線程機(jī)制。

        關(guān)鍵詞:WEB;JAVA多線程

        1 WEB項(xiàng)目應(yīng)用JAVA的優(yōu)勢

        在WEB開發(fā)項(xiàng)目中,可供選擇的語言并不少,當(dāng)前尤以JAVA語言最為受到程序開發(fā)人員的寵愛,它是一種面向?qū)ο蟮木幊陶Z言,在1995年SUN公司推出,之后就迅速的憑借它的高度通用型、強(qiáng)大的可移植性以及安全性迅速流行起來,滲透到了眾多開發(fā)領(lǐng)域。在現(xiàn)在的WEB項(xiàng)目開發(fā)中,服務(wù)器端程序設(shè)計(jì)是非常重要的部分。用JAVA作為開發(fā)語言有著明顯的優(yōu)勢:(1)支持多線程,并具有出色的多線程安全機(jī)制。作為接受眾多客戶訪問的服務(wù)器,必須要求能夠妥善處理各種并發(fā)事件,也就是用于開發(fā)服務(wù)器端的語言一定要支持多線程且應(yīng)具備較高的多線程安全性。(2)通用性強(qiáng)。在許多的WEB項(xiàng)目中,服務(wù)器端還可能面臨來自不同類型客戶端的訪問,所以開發(fā)服務(wù)器端的語言還應(yīng)具有較高的通用性。

        2 JAVA的多線程及應(yīng)用方法

        進(jìn)程并不會執(zhí)行代碼,代碼的執(zhí)行體是線程,一般的情況下,我們所說的多線程是指程序在計(jì)算機(jī)上存在多個控制流并發(fā)執(zhí)行,它們均屬于同一個進(jìn)程。操作系統(tǒng)一般會提供基本的多線程操作API并維護(hù)多線程環(huán)境,包括堆棧、寄存器、環(huán)境變量、句柄等等。我們想用JAVA的多線程,就應(yīng)該先了解JAVA的多線程。JAVA的多線程用法比操作系統(tǒng)提供的原始的多線程相關(guān)API更加的簡單,也更加的安全,許多多線程編程中需要注意的問題JAVA都已經(jīng)幫開發(fā)人員做好了,因此,開發(fā)人員可以很容易的應(yīng)用JAVA寫出能夠良好運(yùn)行的多線程程序,從而節(jié)省出更多的精力用于功能程序設(shè)計(jì)上。

        2.1 JAVA下多線程的創(chuàng)建

        使用JAVA創(chuàng)建多線程有兩種方法,一種是讓線程類從Thread繼承,然后重載它的run()方法,重載后的run()方法將作為該類的線程代碼入口點(diǎn)。另一種方法是讓編寫的線程類實(shí)現(xiàn)Runnalbe接口,并重載接口里面的run()方法。之所以有兩種創(chuàng)建方法是為了消除JAVA的單繼承局限性。

        2.2 JAVA的多線程使用方法

        編寫多線程程序,便避不開一些多線程調(diào)度的問題,多線程在運(yùn)行期間共享資源的管理、線程之間的同步都需要考慮。JAVA提供了一些機(jī)制來做這些事情。在對共享資源訪問的問題上,可以用Synchronized關(guān)鍵字,將訪問共享資源的代碼方法前加上該關(guān)鍵字就可以保證該代碼塊同一時間只能有一個線程在運(yùn)行。在JAVA線程同步問題上,有兩個重要的方法,分別是wait()和notify()。wait()方法的作用是停止線程的運(yùn)行,等待其他線程通知后在繼續(xù)運(yùn)行;notify()方法的作用通知某線程可以繼續(xù)運(yùn)行。以上為JAVA中編寫多線程程序必須掌握的基本技術(shù),除此之外還有線程讓步、線程合并以及線程優(yōu)先級的設(shè)定等常用技術(shù)也應(yīng)掌握。

        2.3 多線程的生命周期

        在WEB項(xiàng)目中,編寫多線程程序幾乎是必須的,怎樣利用有限的系統(tǒng)資源合理利用多線程是開發(fā)人員必須考慮的問題。一般情況下,網(wǎng)絡(luò)服務(wù)器中的線程按照功能可以分為兩類,一類用作并發(fā)服務(wù),而另一類用作反復(fù)服務(wù)。JAVA中的線程起于線程類中的start方法,之后轉(zhuǎn)入到就緒狀態(tài),等待操作系統(tǒng)進(jìn)行資源調(diào)度,操作系統(tǒng)完成準(zhǔn)備任務(wù)后,將執(zhí)行上文中提到的run()方法,線程開始運(yùn)行。運(yùn)行過程中,線程可以在就緒、阻塞狀態(tài)當(dāng)中轉(zhuǎn)換,最后當(dāng)不再需要該線程時,會觸發(fā)InterruptedException異常,系統(tǒng)會截獲該異常并結(jié)束線程。

        3 使用JAVA多線程值得注意的問題

        多線程程序的編寫復(fù)雜程度遠(yuǎn)超單線程程序,但在WEB項(xiàng)目的開發(fā)中又必須依靠多線程來提高系統(tǒng)服務(wù)效率,所以在應(yīng)用JAVA多線程進(jìn)行編程時一定要小心,避免因應(yīng)用多線程而導(dǎo)致系統(tǒng)出現(xiàn)問題,最常見的問題就是在并發(fā)系統(tǒng)中的公平性與安全性問題。

        在WEB應(yīng)用中會存在多個客戶,程序需要經(jīng)常訪問服務(wù)器中的共享資源,雖然服務(wù)器程序在宏觀上是保持并發(fā)性的,但是在微觀上各個線程卻是獨(dú)占系統(tǒng)資源執(zhí)行的,并發(fā)性的本質(zhì)其實(shí)是CPU快速的在不同線程間切換執(zhí)行。多個線程對共享資源訪問時,如果處理不好就會導(dǎo)致數(shù)據(jù)安全性問題或者是反方向的線程公平性問題。

        為了數(shù)據(jù)安全性,在編寫多線程程序時對共享資源的訪問設(shè)置一般都是線程獨(dú)占的,同一時刻只能有一個線程訪問,其他線程處于等待狀態(tài)。如果說在系統(tǒng)里的多線程中存在部分優(yōu)先級較其他線程優(yōu)先級高并且一直都有高優(yōu)先級線程插隊(duì)訪問資源,那么對于低優(yōu)先的線程就是不公平的,表現(xiàn)出來的現(xiàn)象可能就是執(zhí)行某一個功能但是服務(wù)器無回應(yīng)。反之,如果過多的關(guān)注線程之間的公平性,那么有可能造成本應(yīng)由優(yōu)先級更高的線程獲得資源,但是卻被低優(yōu)先級線程長期占有。處理數(shù)據(jù)安全性與線程公平性的問題,最好的方法是依靠線程運(yùn)行情況動態(tài)的調(diào)整線程優(yōu)先級,視情況不同采取不同的控制調(diào)配策略。

        [參考文獻(xiàn)]

        [1]顧曉寧.基于JAVA語言在WEB開發(fā)的知識探討[J].湖北函授大學(xué)學(xué)報(bào),2012(01).

        [2]高飛.使用JAVA語言開發(fā)WEB應(yīng)用軟件的知識探討[J].電子世界,2012(05).

        [3]李雙權(quán).一種Java多線程可達(dá)性測試框架系統(tǒng)的研究和實(shí)現(xiàn)[D].暨南大學(xué),2003(04).

        [4]韋慶清,任衛(wèi)東.Java多線程編程中數(shù)據(jù)安全的應(yīng)用研究[J].現(xiàn)代計(jì)算機(jī),2012(09).

        猜你喜歡
        服務(wù)器端公平性線程
        淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
        成功(2018年10期)2018-03-26 02:56:14
        一種提高TCP與UDP數(shù)據(jù)流公平性的擁塞控制機(jī)制
        淺談linux多線程協(xié)作
        公平性問題例談
        在Windows中安裝OpenVPN
        關(guān)于公平性的思考
        華東理工大學(xué)學(xué)報(bào)(自然科學(xué)版)(2014年1期)2014-02-27 13:48:36
        Linux線程實(shí)現(xiàn)技術(shù)研究
        網(wǎng)頁防篡改中分布式文件同步復(fù)制系統(tǒng)
        么移動中間件線程池并發(fā)機(jī)制優(yōu)化改進(jìn)
        国产精品久久久久久亚洲av| 国产精品女同av在线观看 | 亚洲精品尤物av在线网站| 国产精品午夜福利天堂| 国产主播一区二区三区蜜桃| 琪琪色原网站在线观看| 97成人碰碰久久人人超级碰oo| 人妻无码中文专区久久综合| 国产在线看不卡一区二区| 亚洲精品国产综合久久| 欧美a级毛欧美1级a大片| 麻豆免费观看高清完整视频 | 国产人在线成免费视频麻豆| 99国产综合精品-久久久久| 少妇人妻系列中文在线| 亚洲精品视频1区2区| 欧美成人午夜免费影院手机在线看| 射死你天天日| 少妇AV射精精品蜜桃专区| 亚洲AV无码一区二区一二区色戒| 亚洲一区二区三区精品久久av | 亚洲成av人片在www鸭子| 欧美国产精品久久久乱码| 丁香婷婷色| 亚洲最大不卡av网站| 国产对白国语对白| 亚洲av福利无码无一区二区| 少妇的肉体k8经典| 精品一区二区三区久久久| 国内自拍视频在线观看h| 五月婷婷开心五月播五月| 狠狠cao日日橹夜夜十橹| 色噜噜av亚洲色一区二区| 精品国产群3p在线观看| 日本小视频一区二区三区| 手机在线免费av资源网| 亚洲码国产精品高潮在线| 久久亚洲伊人| 久久久精品国产亚洲av网不卡| 亚洲不卡一区二区视频| 成在线人av免费无码高潮喷水 |