Java如何让CPU利用率达到100%

一.背景

记得有一次去面试Java软件开发工程师,面试官问了我一个关于Java如何让CPU利用率到达百分百的问题,我当时下意识的回答到让程序死循环就可以了(这源于我之前的工作中有一次无意间写了死循环,当时电脑卡的简直不能动,我都关机了,可是一运行程序还是很卡,最后我看性能发现CPU占用率很高,当时具体没看具体有多高,但是估计利用率没有达到百分百吧),面试官当时没说什么,紧接着问下个问题了,我当时以为我回答对了,后面我又有一个新同事入职了,他问我当时这个问题这么回答的,我说死循环时,他说这个答案是错的,因为他也是这么回答的,结果面试官说是错的.我当时一直没有时间深究,今天我去深究了下这个问题,无论我怎么尝试CPU利用率始终在85%左右,后面我去请教我领导了,他跟我说电脑8核处理器,只需要开启8个或者8个以上的线程就可以让CPU的利用率达到百分百了.

二.测试过程

2.1 死循环最多是CPU利用率达到99%

 

 

2.2 开启超过机器CPU数的线程数(比如我电脑是8核,我就开启超过或者等于8的线程数)

 

三.总结

多线程开发是我们工作中经常会遇见的,面试官问这个问题,估计是想让我以后写代码多注意这块吧,开启线程池的时候对数量一定要有限制,明白线程并不是开的越多越好的,因为这会占用很多资源.

 

 

发布了33 篇原创文章 · 获赞 33 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/qq_36090463/article/details/99239177