黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

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

簡述多線程的優點

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

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


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利用率的提升。而且每個線程只需要記錄一個文件,因此這種方式也很容易編程實現。


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


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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 色综合天天综合网看在线影院 | 99视频在线免费 | 日日舔夜夜操 | 午夜a爱 | 欧美午夜不卡 | 婷婷伊人 | 成人亚洲视频在线观看 | 超级在线碰| 午夜影院污网页入口 | 久久免费99精品国产自在现线 | 第一页在线视频 | 一本久久综合亚洲鲁鲁五月天 | www亚洲天堂 | 久久精品国产99久久6动漫欧 | 亚洲日韩中文第一精品 | 欧美日韩一区二区在线观看视频 | 欧美日韩国产在线成人网 | 在线韩国伦理片 | 最近2019中文免费字幕 | 黄毛片网站 | 国产精自产拍久久久久久 | 永久在线免费观看 | 成人在线色视频 | 五月天堂婷婷 | aaa影院| 日韩欧美一区二区三区视频 | 成人免费动漫在线看网站 | 美女一级大黄录像一片 | 又黄又www | 国产成人综合亚洲 | 99九九久久 | 日日人人| 污片在线免费看 | 亚洲成人免费在线 | 欧美激情在线播放一区二区 | 全免费a级毛片免费看不卡 全免费a级毛片免费毛视频 | 免费看欧美日韩一区二区三区 | 波多野结衣 一区二区 | 小明永久播放平台领域2015 | 在线观看中文字幕第一页 | 欧美 日本 |