首頁 > 研究 > 正文

單線程和多線程的區(qū)別是什么(單線程和多線程的區(qū)別)_全球新動態(tài)

2023-06-04 07:22:30來源:互聯(lián)網(wǎng)  


(資料圖片)

導(dǎo)讀 來為大家解答以下的問題,線程和多線程的區(qū)別是什么,單線程和多線程的區(qū)別這個很多人還不知道,現(xiàn)在讓我們一起來看看吧!...

1、多線程和單線程本質(zhì)區(qū)別是:(1)多線程的產(chǎn)生并不是因為發(fā)明了多核CPU甚至現(xiàn)在有多個CPU+多核的硬件,也不是因為多線程CPU運行效率比單線程高。

2、單從CPU的運行效率上考慮,單任務(wù)進(jìn)程及單線程效率是最高的,因為CPU沒有任何進(jìn)程及線程的切換開銷,(2)實際上,多線程的出現(xiàn)主要為了解決IO設(shè)備的讀寫速度往往比CPU的處理速度慢造成的單線程程序運行阻塞問題,一個極端的例子就是如果你需要用戶在鍵盤上輸入一個數(shù)據(jù),當(dāng)用戶沒有輸入前,單線程程序就阻塞了,多線程程序就可以放個音樂或繼續(xù)干一些程序中除了鍵盤輸入外的工作,因此,多線程能提高因程序由于等待某個資源阻塞時其他資源的利用率(是利用率不是效率)。

3、(3)因此多線程與單線程的最大區(qū)別,多線程程序能在等待某個IO操作時,繼續(xù)完成非這個IO的其他工作,有利于提高完成整個任務(wù)的效果和速度。

4、此外,多線程程序與單線程程序?qū)Τ绦蛟O(shè)計也有不同的流程和結(jié)構(gòu),多線程需要考慮對靜態(tài)變量等資源的操作互鎖及程序執(zhí)行的同步問題。

本文分享完畢,希望對大家有所幫助。

關(guān)鍵詞:

責(zé)任編輯:hnmd003

相關(guān)閱讀

推薦閱讀