欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

計算機線程越多速度越忙人嗎

錢衛國2年前17瀏覽0評論

計算機線程越多速度越忙人嗎?

線程最少等于核數,或者n*核數,核數越多,可以執行的線程也越多,可以處理的任務量肯定更快。任務是由線程來執行的,一個任務可以有多個線程。按這種道理線程是越多處理速度越快。但是會出現一個問題,線程多了,并發的概率越大,數量也越多,這時候反而會降低性能,所以才會引入線程池,來控制線程數。

或者

不對

完成一個任務可以有多進程和多線程兩種方式,到底哪種方式快呢?通常人們認為Windows系統是以進程為單位分配CPU時間片的,那么使用多個進程就可以多分得一些CPU時間,自然就會比使用單獨進程多個線程的方式快一點了。事實上這種情況并不絕對正確,首先,創建進程比創建線程要多占用系統資源,系統資源不足往往會引起系統性能的下降,導致任務完成的比較慢。其次,由于多個進程要操作同一個數據集合,必然會因為數據爭用導致進程狀態改變,同多個線程狀態改變相比,進程切換要使用更多的CPU時間。最后,使用單進程方式,由于進程少,每個進程又可以較多的獲得CPU時間片,從而能夠很大的改善進程的性能。由此可見,并不是使用多進程處理數據就一定比使用多個線程的單進程快。圖(1)顯示了使用兩種方式的程序性能變化曲線,從圖上可以看出,無論使用何種方式,進程和線程都不是越多越好,兩種方式都存在一個臨界點,超過這個臨界點,都會因為頻繁的進程或線程狀態切換而造成程序性能下降。使用多進程方式在到達臨界點之后再增加進程就會引起性能的下降,而且下降速度比單進程多線程方式到達臨界點之后的下降速度快,這是因為進程切換比線程切換更費時。

php多線程多進程開發,計算機線程越多速度越忙人嗎