zoukankan
html css js c++ java
c#Winform程序CPU占用高的原因和解决方法(转载)
程序CPU占用高的可能原因:
1、存在死循环;
为什么死循环会导致CPU占用高呢?
虽然分时操作系统是采用时间片的机制对CPU的时间进行管理的,也就是说到了一定时间它会自动从一个进程切换到下一个进程。但是,当进入别的进程后,若该进程告诉系统它现在不需要做什么,不需要那么多的时间,这个时候,系统就会切换到下一个进程,当切换到死循环所在进程后,由于它一直在循环,永远告诉系统它有事情做(实质仅在死循环,没做任何事),那么系统就尽可能的将其他进程省下了的时间让它做死循环了,CPU占用不高才怪咧。
解决方法:在死循环中添加“Thread.sleep(1);”,如下所示:
while(
true)
{
if(进入条件)
{
//该模块处理语句
}
else
{
Thread.sleep(
1);
}
}
2、高频率的IO操作。
PS:未写完,后续会补充。
查看全文
相关阅读:
为什么测试人员需要了解代码逻辑、表结构
http报文常见的请求头、响应头
测试人如何做出一份好简历
如何制定测试计划
写SQL的套路
我是如何理解对公信贷业务
db2----实操篇
Oracle----高级操作
常见web中间件漏洞(二)Apache漏洞
常见web中间件漏洞(一)IIS漏洞
原文地址:https://www.cnblogs.com/shuaiheng/p/10819675.html
最新文章
Linux 目录结构
将博客搬至CSDN
RockerMQ源码分析——Broker消息发送流程
shell 脚本——if判断使用方式
RocketMQ —— 消息消费流程
shell 脚本——sed 用法
PostgreSQ 查询表外键依赖关系
MySQL 数据备份
Redis实战-缓存穿透、缓存雪崩、缓存击穿和缓存并发的区别和解决方案
Java中==与equals的区别及理解
热门文章
面试题:Spring BeanFactory和FactoryBean的区别
Java面试题:浅谈Spring Bean的生命周期
Redis异常 Invalid argument during startup: unknown conf file parameter
五分钟扫盲:25个工作中常用的Linux命令
Java中==与equals的区别及理解
Java 异常处理try、catch、finally和return执行顺序
面试题-Thread.sleep(0)的作用是什么
Linux vmstat命令快速入门
怎么把问题梳理得更清晰?
工作经验
Copyright © 2011-2022 走看看