多线程:多线程优缺点、应用场景
首先說(shuō)下多線程出現(xiàn)的原因:
為了解決負(fù)載均衡問(wèn)題,充分利用CPU資源.為了提高CPU的使用率,采用多線程的方式去同時(shí)完成幾件事情而不互相干擾.為了處理大量的IO操作(IO密集時(shí),cpu利用率會(huì)下降)時(shí)或處理的情況需要花費(fèi)大量的時(shí)間等等,比如:讀寫文件,視頻圖像的采集,處理,顯示,保存等
多線程的好處:
0.提高CPU的利用率。從磁盤上讀取文件的時(shí)候,大多數(shù)的CPU時(shí)間都會(huì)花費(fèi)在等待磁盤來(lái)讀取數(shù)據(jù)。在這個(gè)時(shí)候CPU是相當(dāng)空閑的。在這個(gè)時(shí)候它可以干點(diǎn)別的事情。通過(guò)改變操作的順序,CPU可以得到更好的利用。
1.防止阻塞主線程,提高吞吐量。使用線程可以把占據(jù)時(shí)間長(zhǎng)的程序中的任務(wù)放到后臺(tái)去處理
2.程序的運(yùn)行效率可能會(huì)提高,提升程序的響應(yīng)速度。
?
多線程的缺點(diǎn):
1.如果有大量的線程,會(huì)影響性能,因?yàn)榫€程的創(chuàng)建、切換、銷毀都比較消耗系統(tǒng)資源。
2.更多的線程需要更多的內(nèi)存空間。
3.線程中止需要考慮對(duì)程序運(yùn)行的影響.
4.通常塊模型數(shù)據(jù)是在多個(gè)線程間共享的,需要防止線程安全問(wèn)題、線程死鎖情況的發(fā)生
?
多線程應(yīng)用場(chǎng)景:
多線程最多的場(chǎng)景:web服務(wù)器本身;各種專用服務(wù)器(如游戲服務(wù)器);多線程的常見(jiàn)應(yīng)用場(chǎng)景:
1、后臺(tái)任務(wù),例如:定時(shí)向大量(100w以上)的用戶發(fā)送郵件;
2、異步處理,例如:發(fā)微博、記錄日志等;
3、分布式計(jì)算
總結(jié)
以上是生活随笔為你收集整理的多线程:多线程优缺点、应用场景的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Java集合:Collection和Ma
- 下一篇: 多线程:同步和异步的优缺点比较