永发信息网

java cpu占用高,该怎么处理

答案:2  悬赏:20  手机版
解决时间 2021-01-26 15:12
java cpu占用高,该怎么处理
最佳答案
你是自己编写的程序吗?如果是请自查代码
CPU占用过高,一般是因为你线程启动太多或者其中一个或多个线程工作太忙

工作太忙的例子,最简单的,代码太长,执行需要一段时间,CPU就会升高,可以适当地加上sleep(milliseconds)来使其睡眠一小会。
还有就是线程有的时候必须要时刻监听一个值,这个时候简单粗暴的方式就是while(true),然后里面判断一个boolean是否为真,如果是则break,如果不是则继续循环
这样的代码是【非常】【非常】吃CPU的,还是避免它比较好,或者至少加入sleep(1)来让其休息一下,1已经很小了。。

线程太多的话,我们的CPU本来是很闲的,尤其是电脑闲置的时候,基本上是不会干活的,只会监听一下硬件设备,以及自动保存一下未保存的文档等等,它的时间片安排的特别宽松,也就不会出现占用过高的问题,结果假设你的程序给它安排了几十个线程等着执行……
因为CPU可不是给一个单独的线程一堆时间,直到这个线程结束再给下一个线程。
CPU会把自己的时间片资源分配给随机的线程,执行时间结束后强制暂停线程,优先级高的能获得更多处理时间,但不保证必然能得到全部时间。
如果线程太多了,那么sleep方法就没什么用了,因为本来是让线程休息的,结果这个休息了那个立马就开始,所以用处不大了
全部回答
1. 假设你是编程人员,检查代码里面有没有大量循环操作,或者将用线程来处理消耗时间较长的代码块。 2. 假设你是使用者,升级java版本可以有效减缓问题,如果已经是最新版了,那最大的可能性是性能问题或是软件本身问题。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
离子反应如何发生方程式如何写
成语流移失所的意思是什么啊?有知道释义的请
汽车购买后,未上牌、未交购置税、已买保险,
09款日产骊威喷油太起动不了是什么原因
看电影小窗口可以看大窗口怎么看不了,
茄子和面,杂做最好吃
尿道断裂后应该鉴定为几级伤残
德国进口窗帘清洗机是什么牌子
【2010年高考作文】2010年高考作文必备素材—
QQ群拒绝再次加入怎么取消
为什么我女朋友是护士.! 为什么,为什么啊!!!!
金灿灿是什么意思
传染过程的五种表现一般说来,哪种表现出现最
哪些歌的歌词比较好?
透真是国产吗?有朋友用过吗?效果怎样
推荐资讯
南京医科大学康达学院护理专转本第二年学费多
成语琴断朱弦的意思是什么啊?有知道释义的请
某建设单位分别与设计、施工和监理等单位签订
【太罗奥特】既然除了泰罗其他奥特曼都不是奥
重型车和轻型车如何划分?
盲目将一事无成的故事
玉林哪里的田螺煲好吃
红箭鱼怎么分公母
锦州附近有什么旅游好去处。详细的就好,越多
水晶底到底耐不耐磨 有人说水晶底
明星摄影彩扩部地址在什么地方,想过去办事
魔兽世界团队中最重要的职业是什么。
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?