首頁 > 研究 > 正文

單線程和多線程的區別是什么(單線程和多線程的區別)_全球新動態

2023-06-04 07:22:30來源:互聯網  


(資料圖片)

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

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

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

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

4、此外,多線程程序與單線程程序對程序設計也有不同的流程和結構,多線程需要考慮對靜態變量等資源的操作互鎖及程序執行的同步問題。

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

關鍵詞:

責任編輯:hnmd003

相關閱讀

推薦閱讀