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

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


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


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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国产成人精品视频免费大全 | 国产成 人 综合 亚洲绿色 | 免费高清特黄a 大片 | 动漫成年美女黄漫网站国产 | 开心成人激情 | 手机看片国产日韩 | 性激烈的欧美三级高清视频 | 丝袜制服国产 | 五月婷婷在线观看视频 | 成人免费国产gav视频在线 | 新婚第一次一级毛片 | 成人高清在线观看播放 | 天天狠天天透天天伊人 | 欧美日韩免费一区二区三区 | 日本边添边摸边做边爱小视频 | 福利800av视频导航 | 操的网站 | 国产性片在线 | 最新丁香六月 | 伊人激情在线 | 岛国在线播放v片免费 | 人人澡人人透人人爽 | 三级三级三级全黄 | 在线 色| 国产桃色在线成免费视频 | 美女乱人伦| 在线观着免费观看国产黄 | 午夜高清在线观看免费6 | 精品久久久久久国产 | 亚洲黄色a | 日日草草 | 视频xxx | 最新精品亚洲成a人在线观看 | 香蕉视频久久久 | 狠狠的撞进去嗯啊h女强男视频 | 国产欧美国日产网站 | 亚洲午夜精品久久久久久抢 | 伊人射| 日韩成人午夜 | 乱肉伦孕小说在线阅读 | 国产欧美日韩在线观看无需安装 |