大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 簡述多線程的優點

簡述多線程的優點

更新時間:2020-11-09 17:32:18 來源:動力節點 瀏覽2497次

盡管面臨很多挑戰,多線程的效率提升并不明顯,但多線程的優點仍使得多線程一直被廣泛地使用。下面我們就來概括的講一講多線程的優點


1. 資源利用率提升,程序處理效率提高

打個比方:我們做上傳圖片的時候,在上傳成功后往往會進行圖片的處理,原圖保存后,會再生成一張小圖以作為一些應用的預覽圖,那么原圖的處理就需要程序去讀取再處理,假設讀取需要花費1秒,處理需要2秒,現在有3張大圖,所需要耗費的時間就是(1+2)X3=9秒,根據圖片的不同,那么單位時間會更多,總計時間就會更久。

那么如果把程序設計更好的話,那就是在讀取文件的時候同時處理上一個文件,這樣就可以盡可能的縮短時間,減少客戶端的響應,同時也提升了CPU的使用率。

如果還不能理解的話那就再舉個例子,我朋友公司是專為某銀行處理數據同步的問題,每天凌晨銀行那邊會有幾十萬條數據發送過來進行處理,項目本身就是個坑,幾百萬條數據接收后直接去處理了,每次運行大多都要耗費2.5個小時,時間實在太久,如果哪天有幾億數據是不是要跑幾十個小時了?那么就可以用多線程,切割這個數據,利用不同的線程來處理,最后把時間縮短到了半小時左右


2.軟件運行速度提升

將一個單線程應用程序變成多線程應用程序的另一個常見的目的是實現一個響應更快的應用程序。設想一個服務器應用,它在某一個端口監聽進來的請求。當一個請求到來時,它去處理這個請求,然后再返回去監聽。

服務器的流程如下所述:

while(server is active){

listen for request

process request

}

如果一個請求需要占用大量的時間來處理,在這段時間內新的客戶端就無法發送請求給服務端。只有服務器在監聽的時候,請求才能被接收。另一種設計是,監聽線程把請求傳遞給工作者線程(worker thread),然后立刻返回去監聽。而工作者線程則能夠處理這個請求并發送一個回復給客戶端。這種設計如下所述:

while(server is active){

listen for request

hand request to worker thread

}

這種方式,服務端線程迅速地返回去監聽。因此,更多的客戶端能夠發送請求給服務端。這個服務也變得響應更快。


3.程序設計更簡單

在單線程應用程序中,如果你想編寫程序手動處理上面所提到的讀取和處理的順序,你必須記錄每個文件讀取和處理的狀態。相反,你可以啟動兩個線程,每個線程處理一個文件的讀取和操作。線程會在等待磁盤讀取文件的過程中被阻塞。在等待的時候,其他的線程能夠使用CPU去處理已經讀取完的文件。其結果就是,磁盤總是在繁忙地讀取不同的文件到內存中。這會帶來磁盤和CPU利用率的提升。而且每個線程只需要記錄一個文件,因此這種方式也很容易編程實現。


總的來說,多線程還是有著其獨特的優勢的,這些優勢相對于多線程的劣勢來說更為重要,所以多線程的存在是符合程序的高效率運行的規律的。好了,知道了這些多線程的優點,讓我們在本站的多線程教程中開始學習多線程的后續知識吧。


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 日本免费一区尤物 | 亚洲天堂久久精品成人 | 亚洲精品欧美精品国产精品 | 伊人五月天综合 | 久久久久久久久久久9精品视频 | 国产色婷婷亚洲 | 亚洲欧美久久精品一区 | 2020久久国产精品福利 | 精品视频在线一区 | 中国性xxxxx极品奶水 | 一级色视频 | 成人在线午夜 | 在线观看成人小视频 | 国产成人精品亚洲日本在线 | 久久精品国产一区二区小说 | 亚洲视频欧洲视频 | 毛片3| 夜夜操天天插 | 亚洲光棍天堂 | 欧美另类丰满69xxxxx | 四虎在线观看免费视频 | 国产日韩久久久精品影院首页 | 一级特黄aa大片一又好看 | 日韩在线一区二区三区 | 亚洲伦理久久 | 最近免费中文字幕大全免费版视频 | 伊人色视频 | 一级黄色录像免费看 | 免费xxx| 亚洲在线一区二区 | 2022色婷婷综合久久久 | 波多野结衣一区2区3区 | 久久久久女人精品毛片九一 | 看a网址| 亚洲欧美在线播放 | 久久国产香蕉视频 | 97视频免费播放观看在线视频 | 日韩精品中文字幕久久 | 婷婷涩 | 四虎在线视频观看大全影视 | 人成精品视频三区二区一区 |