Java如何讓CPU利用率達到100%

一.背景

記得有一次去面試Java軟件開發工程師,面試官問了我一個關於Java如何讓CPU利用率到達百分百的問題,我當時下意識的回答到讓程序死循環就可以了(這源於我之前的工作中有一次無意間寫了死循環,當時電腦卡的簡直不能動,我都關機了,可是一運行程序還是很卡,最後我看性能發現CPU佔用率很高,當時具體沒看具體有多高,但是估計利用率沒有達到百分百吧),面試官當時沒說什麼,緊接着問下個問題了,我當時以爲我回答對了,後面我又有一個新同事入職了,他問我當時這個問題這麼回答的,我說死循環時,他說這個答案是錯的,因爲他也是這麼回答的,結果面試官說是錯的.我當時一直沒有時間深究,今天我去深究了下這個問題,無論我怎麼嘗試CPU利用率始終在85%左右,後面我去請教我領導了,他跟我說電腦8核處理器,只需要開啓8個或者8個以上的線程就可以讓CPU的利用率達到百分百了.

二.測試過程

2.1 死循環最多是CPU利用率達到99%

 

 

2.2 開啓超過機器CPU數的線程數(比如我電腦是8核,我就開啓超過或者等於8的線程數)

 

三.總結

多線程開發是我們工作中經常會遇見的,面試官問這個問題,估計是想讓我以後寫代碼多注意這塊吧,開啓線程池的時候對數量一定要有限制,明白線程並不是開的越多越好的,因爲這會佔用很多資源.

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章