色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

多線程和單線程有什么本質區別

錢斌斌2年前17瀏覽0評論

多線程和單線程有什么本質區別?

多線程和單線程本質區別是:

(1)多線程的產生并不是因為發明了多核CPU甚至現在有多個CPU+多核的硬件,也不是因為多線程CPU運行效率比單線程高。單從CPU的運行效率上考慮,單任務進程及單線程效率是最高的,因為CPU沒有任何進程及線程的切換開銷,

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

(3)因此多線程與單線程的最大區別,多線程程序能在等待某個IO操作時,繼續完成非這個IO的其他工作,有利于提高完成整個任務的效果和速度。此外,多線程程序與單線程程序對程序設計也有不同的流程和結構,多線程需要考慮對靜態變量等資源的操作互鎖及程序執行的同步問題。

java 多線程共享變量,多線程和單線程有什么本質區別