永发信息网

关于进程中while(1)死循环,造成CPU占用率100%的问题

答案:2  悬赏:50  手机版
解决时间 2021-01-30 01:16
  • 提问者网友:焚苦与心
  • 2021-01-29 15:09
while(1)
{
do {
// Sleep(0);
QueryPerformanceCounter(&litmp);
QPart2 = litmp.QuadPart;//获得中止值
dfMinus = (double)(QPart2-QPart1);
dfTim = dfMinus / dfFreq;// 获得对应的时间值,单位为秒
}while(dfTimQPart1=QPart2;
SignalValue = (SignalValue>>channel)&0x01;
SignalValue<<=channel;
WORD m_nport=(WORD)0x378;
SetPortVal(m_nport, SignalValue, 1);
SignalValue ^=0xFF;

}
如题,do...while中是一个精确时钟计时,精确度在ms级以上,我要用它来控制并口的一个通道发送频率为100HZ的方波,在创建独立的线程以后,能够实现100HZ的方波,但是CPU的使用率高达100%
我知道使用sleep()函数能够解决这个问题,但是会造成我的输出方波信号频率达不到100HZ,希望有大神能遇到过相似情况,是如何解决的
最佳答案
  • 五星知识达人网友:一叶十三刺
  • 2021-01-29 16:34
线程工作频率那么高自然会使 CPU 使用率高了,你可以换个双核的或者四核的试试看
全部回答
  • 1楼网友:千夜
  • 2021-01-29 17:00
1、防杀毒软件造成故障   由于新版的kv、金山、瑞星都加入了对网页、插件、邮件的随机监控,无疑增大了系统负担。处理方式:基本上没有合理的处理方式,尽量使用最少的监控服务吧,或者,升级你的硬件配备。   2、驱动没有经过认证,造成cpu资源占用100%   大量的测试版的驱动在网上泛滥,造成了难以发现的故障原因。 处理方式:尤其是显卡驱动特别要注意,建议使用微软认证的或由官方发布的驱动,并且严格核对型号、版本。  3、病毒、木马造成   大量的蠕虫病毒在系统内部迅速复制,造成cpu占用资源率据高不下。解决办法:用可靠的杀毒软件彻底清理系统内存和本地硬盘,并且打开系统设置软件,察看有无异常启动的程序。经常性更新升级杀毒软件和防火墙,加强防毒意识,掌握正确的防杀毒知识。  4、系统服务   控制面板—管理工具—服务—rising realtime monitor service点鼠标右键,改为手动。   5、启动项   开始->;运行->;msconfig->;启动,关闭不必要的启动项,重启。  6、查看“svchost”进程   svchost.exe是windows xp系统的一个核心进程。svchost.exe不单单只出现在windows xp中,在使用nt内核的windows系统中都会有svchost.exe的存在。一般在windows 2000中svchost.exe进程的数目为2个,而在windows xp中svchost.exe进程的数目就上升到了4个及4个以上。   7、查看网络连接   主要是网卡。  8、查看网络连接   当安装了windows xp的计算机做服务器的时候,收到端口 445 上的连接请求时,它将分配内存和少量地调配 cpu资源来为这些连接提供服务。当负荷过重的时候,cpu占用率可能过高,这是因为在工作项的数目和响应能力之间存在固有的权衡关系。你要确定合适的 maxworkitems 设置以提高系统响应能力。如果设置的值不正确,服务器的响应能力可能会受到影响,或者某个用户独占太多系统资源。   要解决此问题,我们可以通过修改注册表来解决:在注册表编辑器中依次展开[hkey_local_machine\system\currentcontrolset\services\lanmanserver ]分支,在右侧窗口中新建一个名为“maxworkitems”的dword值。然后双击该值,在打开的窗口中键入下列数值并保存退出:   如果计算机有512mb以上的内存,键入“1024”;如果计算机内存小于512 mb,键入“256”。  9、看看是不是windows xp使用鼠标右键引起cpu占用100%:   前不久的报到说在资源管理器里面使用鼠标右键会导致cpu资源100%占用,我们来看看是怎么回事?   征兆:   在资源管理器里面,当你右键点击一个目录或一个文件,你将有可能出现下面所列问题:   任何文件的拷贝操作在那个时间将有可能停止相应   网络连接速度将显著性的降低   所有的流输入/输出操作例如使用windows media player听音乐将有可能是音乐失真成因:   当你在资源管理器里面右键点击一个文件或目录的时候,当快捷菜单显示的时候,cpu占用率将增加到100%,当你关闭快捷菜单的时候才返回正常水平。  解决方法:   方法一:关闭“为菜单和工具提示使用过渡效果”   1、点击“开始”--“控制面板”   2、在“控制面板”里面双击“显示”   3、在“显示”属性里面点击“外观”标签页   4、在“外观”标签页里面点击“效果”   5、在“效果”对话框里面,清除“为菜单和工具提示使用过渡效果”前面的复选框接着点击两次“确定”按钮。   方法二:在使用鼠标右键点击文件或目录的时候先使用鼠标左键选择你的目标文件或目录。然后再使用鼠标右键弹出快捷菜单。  cpu占用100%解决办法   一般情况下cpu占了100%的话我们的电脑总会慢下来,而很多时候我们是可以通过做一点点的改动就可以解决,而不必问那些大虾了。   当机器慢下来的时候,首先我们想到的当然是任务管理器了,看看到底是哪个程序占了较搞的比例,如果是某个大程序那还可以原谅,在关闭该程序后只要cpu正常了那就没问题;如
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯