999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

探討Java多線程下載技術(shù)

2019-10-31 07:00:03韓曉艷袁堂青
電腦知識與技術(shù) 2019年22期
關(guān)鍵詞:計算機

韓曉艷 袁堂青

摘要:近些年,國內(nèi)的科技有了長遠(yuǎn)的發(fā)展,在我們的日常生活中,計算機也實現(xiàn)了普及,對我們的生產(chǎn)生活影響也越來越大。目前,多線程下載技術(shù)作為目前應(yīng)用非常高的下載方案,將多線程的優(yōu)勢充分發(fā)揮了出來。通過多線程,相同時間的下載請求,可以對下載數(shù)據(jù)進(jìn)行分割處理,各線程對應(yīng)不同的下載內(nèi)容,在最后組成文件,這樣就能夠有效提高下載的效率。現(xiàn)階段,很多下載軟件都應(yīng)用了多線程下載技術(shù)。基于這一情況,該文就Java多線程下載技術(shù)開展分析研究。

關(guān)鍵詞:Java;多線程技術(shù);線程安全;計算機

中圖分類號:TP311? ? ? ? 文獻(xiàn)標(biāo)識碼:A

文章編號:1009-3044(2019)22-0071-02

開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):

近些年我國經(jīng)濟實現(xiàn)了跳躍式的發(fā)展,人們的生活水平有了很大的提高,計算機網(wǎng)絡(luò)也已經(jīng)得到了普及。目前,人們下載網(wǎng)絡(luò)資源是獲取信息最主要的一種途徑。在獲取網(wǎng)絡(luò)資源的過程中,最重要的就是下載技術(shù),而一個線程可以看作一個下載通道,多個線程就可以對應(yīng)多個下載通道。在相同環(huán)境下,如果有了多線程技術(shù),那么下載速度就會有一定程度的提高。在目前多種下載軟件中,都應(yīng)用了多線程下載技術(shù),具有非常大的優(yōu)勢。

1 線程的基本概念及其優(yōu)劣

1.1 線程的基本概念

計算機中正在執(zhí)行的程序,被稱為“進(jìn)程”,相對于程序來說,進(jìn)程是一個動態(tài)的概念,是程序的一次執(zhí)行過程。線程相比較進(jìn)程來說,屬于更小的運行單位,一個進(jìn)程涵蓋了很多個線程,同樣能夠為用戶處理更多的問題。比如,IE瀏覽器在同時下載圖片的時候,還可以為用戶提供已經(jīng)完成下載的頁面,這也是比較典型的例子。

各進(jìn)程之間是相互獨立的,彼此之間對其他線程是否存在不需要考慮。在一個任務(wù)中,線程屬于區(qū)中的一個執(zhí)行代碼,不同的線程之間可能會有一定的影響彼此存在一定的聯(lián)系,多個線程對資源進(jìn)行共享。

1.2 多線程技術(shù)的優(yōu)缺點

多線程技術(shù)不但可以提高交互式,而且能夠更加高效、便捷地進(jìn)行控制。在對多線程應(yīng)用的時候,可以使程序響應(yīng)速度得到提高,從而實現(xiàn)速度化、高效化的特點。另外,多線程技術(shù)存在的缺點也比較明顯,需要等待比較長的時間之外,還會在一定程度上使程序運行速度降低,使工作效率受到一定的影響,從而對資源造成了浪費。

2 下載技術(shù)框架

2.1 網(wǎng)絡(luò)下載技術(shù)

現(xiàn)階段,我國的網(wǎng)絡(luò)覆蓋面積正在快速地擴大,使用網(wǎng)絡(luò)的人員也越來越多,據(jù)相關(guān)統(tǒng)計顯示,截至2017年,我國網(wǎng)民規(guī)模超過7億,全年共計新增網(wǎng)民4000多萬人。互聯(lián)網(wǎng)普及率超過了55.0%。越來越多的使用者,都需要通過Wed服務(wù)器實現(xiàn)訪問操作,這就致使網(wǎng)絡(luò)下載速度受到Wed服務(wù)器性能的制約。基于這一情況,P2P技術(shù)就憑借自身的優(yōu)勢,廣泛應(yīng)用到了共享文件方面,主要特征包括:資源分散化、負(fù)載相對均衡化以及非中心化,能夠基于客戶機結(jié)點保存共享文件。在中央服務(wù)器缺少時,用戶也可以進(jìn)行共享、傳送文件的操作。PZP技術(shù)利用多數(shù)結(jié)點傳輸數(shù)據(jù)和合作下載的方式,最大限度地改善文件傳輸?shù)男省?/p>

2.2 下載的基本構(gòu)架

目前網(wǎng)絡(luò)下載的基本架構(gòu)是P2P、C/S架構(gòu)。P2P網(wǎng)絡(luò)結(jié)構(gòu)發(fā)展出多源文件傳輸途徑,主要應(yīng)用有e Mule和BT;C/S架構(gòu)即客戶端/服務(wù)器架構(gòu),由此發(fā)展出的TP下載,是在客戶端應(yīng)用多線程下載模式。傳統(tǒng)的HTTP/FTP下載屬于C/S框架的一種,這一模式下的服務(wù)器需要存儲海量的共享文件,用于文件的共享、下載以及搜索。但是也意味著大量客戶端的數(shù)據(jù)訪問都要經(jīng)過服務(wù)器這一瓶頸。BT協(xié)議的基礎(chǔ)結(jié)構(gòu)為P2P,即Peer to Peer。P2P可以利用每個節(jié)點的資源,構(gòu)建自組網(wǎng)絡(luò),網(wǎng)絡(luò)結(jié)點之間的關(guān)系屬于對等的,實現(xiàn)了不需要通過服務(wù)器就可以傳送文件。

3 Java語言的線程模型

Java語言的特點是從最底層開始支持線程,標(biāo)準(zhǔn)的Java類允許在一個給定的應(yīng)用程序中有多個線程調(diào)用同一方法,而線程彼此之間互不干擾,Java語言的這些特點為多線程應(yīng)用程序的設(shè)計奠定了基礎(chǔ)。在Java中是由java.lang.Thread類進(jìn)行定義和描述的。程序中的線程都是Thread類的實例。因此用戶可以通過創(chuàng)建Thread的實例或定義并創(chuàng)建Thread子類的實例建立和控制自己的線程。

當(dāng)一個Java程序運行時,至少會生成一個線程,該線程由main()方法開始的,不同的線程是無法自動啟動的,必須通過其他線程來調(diào)用。一個線程, 同進(jìn)程一樣,也有從創(chuàng)建、運行到消亡的過程,因此每個線程都具有創(chuàng)建、就緒、運行、死亡四種狀態(tài)。

Java語言是目前最為流行的編程語言,有非常廣泛的應(yīng)用。Java語言的多線程編程技術(shù)可以充分利用到下載程序中,對下載任務(wù)進(jìn)行分割,從而實現(xiàn)多項任務(wù)并發(fā)運行。

4 Java線程的基本結(jié)構(gòu)與使用方法

4.1 線程的創(chuàng)建、啟動

Java語言線程的創(chuàng)建有兩種方法:

第一種方法是通過繼承Thread類,即將一個類聲明為Thread類的子類,重寫run()方法:

Class ThreadExam extends Thread {public void run(){}}

第二種方法是實現(xiàn)Runnable接口創(chuàng)建線程:

Thread t1 = new Thread(new Runnable(){public void run(){}})

新建的線程不會自動運行,必須調(diào)用線程的start()方式執(zhí)行。該方法的調(diào)用把嵌入在線程中的虛擬CPU置為可運行狀態(tài),意味著它可以被調(diào)度運行,但這并不意味著線程會立即運行。建議在創(chuàng)建線程的時候,使用實現(xiàn)Runnable接口的方式更加靈活。

4.2 多線程下載算法

tP= q(ts+tt)? ? ? ? ? ? ? ? ? ? ? (1)

在公式(1)中,tP代表的是鎖外消耗時長,其占比重為q;ts為鎖內(nèi)消耗時長,tt為解及加鎖消耗時長。如果q是整數(shù)的時候,就代表第一次申請才會形成鎖競爭;如果q是小數(shù)的時候,就會產(chǎn)生重復(fù)鎖競爭。下面公式(2)、(3)、(4)運算公式為運算的并行下載時間:

若q≤h-1,則t(n)=(n+q)(ts+tt)? ? ? ? ? ? ? ? ? ? ? ? ? ? (2)

若q>h-1,則t(n)=(k(q-h+1)+b+q)(ts+tt)? ? ? ? ? (3)

在上面的公式中,N代表的是文件塊數(shù)目,h代表的是線程數(shù)目,k表示的是[nh]比值,p表示的是機器處理核數(shù),fk=ts/tt表示的是鎖粒度。

4.3 線程同步

那些需要共享對象和數(shù)據(jù)的多個線程,必須互相了解對方的狀態(tài)以及活動。不同的線程在同一時間內(nèi)不能存取同一數(shù)據(jù),否則程序就可能出錯。因此,對于這些并發(fā)執(zhí)行卻又共享數(shù)據(jù)的線程,必須采取某些方法對它們進(jìn)行同步管理。

在Java中,想要實現(xiàn)線程同步,需要基于synchronized關(guān)鍵詞,在利用該方法使用線程之前,其資源是獨享的狀態(tài),其他的線程都處在阻塞的情況。如果這一方法執(zhí)行完成后,其他的線程才能夠使用這一方法。如果只是單純同步某一段代碼,可以采用synchronized的方式。同步程序發(fā)生異常情況的時候,就會發(fā)生饑餓或是死鎖的情況。

5 結(jié)束語

綜上所述,目前,我們在日常生產(chǎn)生活中比較常用的一種下載方案為多線程下載技術(shù),該技術(shù)具有非常顯著的多線程優(yōu)勢,可以利用多個線程同時進(jìn)行下載,每一個線程只負(fù)責(zé)下載其中一部分,大大提升了下載效率。但是并不是線程越多性能越好,當(dāng)線程超過一定數(shù)量時,線程的調(diào)度的開銷會很大,反而會讓性能降低,因此要適當(dāng)使用多線程,不能濫用。合理利用java斷點續(xù)傳功能,例如突然電腦關(guān)機了,當(dāng)再開機時已經(jīng)下載到一半的文件不需要重新開始,而是接著剛才的位置繼續(xù)下載,既可以節(jié)省網(wǎng)絡(luò)流量和節(jié)省用戶時間,又給用戶良好的使用體驗。

參考文獻(xiàn):

[1] 耿永利.基于Java的網(wǎng)絡(luò)管理系統(tǒng)開發(fā)與管理[J].漯河職業(yè)技術(shù)學(xué)院學(xué)報,2015(2):34-35.

[2] 姚斌.基于JAVA的多線程下載器的設(shè)計[J].信息與電腦:理論版,2014(7):28-29.

[3] 劉引濤.基于Java的多線程下載工具研究與實現(xiàn)[J].現(xiàn)代電子技術(shù),2012(8):11-14.

[4] 晏春海,田蔚風(fēng),王俊璞,等.多線程技術(shù)在分時串口通信中的應(yīng)用[J].儀表技術(shù)與傳感器,2004(5).

[5] 任雙君,周旭,任勇毛,等.基于HTML5的瀏覽器端多線程下載技術(shù)[J].計算機系統(tǒng)應(yīng)用,2017(11).

[6] 闞能琪.VC++串口通信中多線程技術(shù)的應(yīng)用研究[J].西華大學(xué)學(xué)報:自然科學(xué)版,2005(4).

【通聯(lián)編輯:唐一東】

猜你喜歡
計算機
計算機操作系統(tǒng)
穿裙子的“計算機”
基于LabVIEW的計算機聯(lián)鎖仿真系統(tǒng)
基于計算機自然語言處理的機器翻譯技術(shù)應(yīng)用與簡介
科技傳播(2019年22期)2020-01-14 03:06:34
計算機多媒體技術(shù)應(yīng)用初探
科技傳播(2019年22期)2020-01-14 03:06:30
信息系統(tǒng)審計中計算機審計的應(yīng)用
計算機應(yīng)用軟件開發(fā)技術(shù)的幾點探討
電子制作(2017年14期)2017-12-18 07:08:10
計算機網(wǎng)絡(luò)安全
iLOCK型計算機聯(lián)鎖開發(fā)中的需求開發(fā)管理
計算機聯(lián)鎖系統(tǒng)配置軟件設(shè)計與實現(xiàn)
主站蜘蛛池模板: 亚洲国语自产一区第二页| 国产日韩AV高潮在线| 正在播放久久| 97人妻精品专区久久久久| 热99精品视频| 永久免费精品视频| 国产成人精品一区二区| 毛片基地美国正在播放亚洲 | 国产肉感大码AV无码| 亚洲人成成无码网WWW| 国产成人a在线观看视频| 免费国产不卡午夜福在线观看| 国产不卡一级毛片视频| 无码又爽又刺激的高潮视频| 天堂av综合网| 国产嫩草在线观看| 国产欧美日韩综合在线第一| 国产精品免费电影| 欧美三级日韩三级| 亚洲高清免费在线观看| 日本在线欧美在线| 欧美午夜在线视频| 国产经典在线观看一区| 视频国产精品丝袜第一页| 亚洲中久无码永久在线观看软件| 国内精品视频在线| 91精品国产自产91精品资源| 亚洲性日韩精品一区二区| 亚洲精品在线影院| 中国一级特黄视频| 日韩精品亚洲一区中文字幕| 五月婷婷欧美| 精品一区二区无码av| 国产精品私拍在线爆乳| 色婷婷成人网| 91久久偷偷做嫩草影院| 国产不卡国语在线| 看你懂的巨臀中文字幕一区二区| 久久久噜噜噜久久中文字幕色伊伊 | 久久综合成人| 99久久精品无码专区免费| 精久久久久无码区中文字幕| 国产极品美女在线播放| 免费一级α片在线观看| 国产精品极品美女自在线网站| 999精品在线视频| 国产成人三级在线观看视频| 久久久久青草线综合超碰| 美女高潮全身流白浆福利区| 国产成人精品男人的天堂下载 | 中文字幕无码电影| 日韩av电影一区二区三区四区| 欧美亚洲国产日韩电影在线| 久久动漫精品| 国产无吗一区二区三区在线欢| 国产色伊人| 国产性猛交XXXX免费看| 久久成人免费| 欧美啪啪一区| 成年A级毛片| 2021国产v亚洲v天堂无码| 婷婷五月在线| 精品福利一区二区免费视频| 嫩草在线视频| 国产激情无码一区二区APP| 亚洲欧美成人| 亚洲天堂区| 久久香蕉国产线看精品| 色综合婷婷| 人妻中文字幕无码久久一区| 四虎国产在线观看| 91年精品国产福利线观看久久| 婷婷综合缴情亚洲五月伊| 国产又粗又猛又爽视频| 欧美在线一二区| 国产成人亚洲日韩欧美电影| 国产一区二区三区在线无码| 8090午夜无码专区| 中文字幕在线欧美| 欧美日本在线播放| 中文字幕啪啪| 国产日韩欧美一区二区三区在线|