程序之前都运行良好,最近发现CPU利用率一直不稳定,从0-100都有,也不太好测试,所以请教大家看看
解决方案 »
- 谁用过Microsoft Lili语音引擎??
- windows 这种效果怎么实现
- 求解,在试连接数据库例子时老出错,我是新手,求高手帮下
- 类似于电梯的语音播报系统
- VS2008连接到数据库有SQL SEVER 2005错误提示,在线等哈,急--
- 请教一个关于treeview动态填充的问题
- 某跨国高科技制造公司招聘C#开发人才
- 如何令在picturebox上画的rectangle,在picturebox上image的移动下,都保持在原本位置不移动
- 童言无忌...我要问这样的问题..我要问这样的问题...童言无忌...
- 将帮助编译到dll中,怎样才行?
- c# 咨询关于计算预计提货时间的思路
- 请问tabcontrol第一次点击后面的tabpage发生了什么?
结果就相当于while(true){}这东西,不吃CPU才怪
去掉Sleep,估计你的cpu就降下来了神马情况,你需要不断的Sleep呢?
有木有io操作没有close?
去掉Sleep,估计你的cpu就降下来了神马情况,你需要不断的Sleep呢?
去掉sleep,不就变成while(true)死循环了吗
所以不是去掉sleep,而是去掉死循环才对
去掉Sleep,估计你的cpu就降下来了神马情况,你需要不断的Sleep呢?
去掉sleep,不就变成while(true)死循环了吗
所以不是去掉sleep,而是去掉死循环才对
我是说撸主的代码为什么都要Sleep?
这事我也常干
比如就是开10个线程去不断的采集PLC的信号(有发有收,用同步while循环比用异步逻辑上简单的多)
这事我也常干
比如就是开10个线程去不断的采集PLC的信号(有发有收,用同步while循环比用异步逻辑上简单的多)
while(true)里面if判断不行麽?
while(true)
{
if(isRunning){}
}
这事我也常干
比如就是开10个线程去不断的采集PLC的信号(有发有收,用同步while循环比用异步逻辑上简单的多)
while(true)里面if判断不行麽?
while(true)
{
if(isRunning){}
}
这个跟吃CPU没有关系,怕就怕if里正常处理通信不吃CPU,而如果不走if就变成while死循环而且没有sleep,那就超级吃CPU
这事我也常干
比如就是开10个线程去不断的采集PLC的信号(有发有收,用同步while循环比用异步逻辑上简单的多)
while(true)里面if判断不行麽?
while(true)
{
if(isRunning){}
}
这个跟吃CPU没有关系,怕就怕if里正常处理通信不吃CPU,而如果不走if就变成while死循环而且没有sleep,那就超级吃CPU
我说的是while循环可以不用sleep,和吃不吃cpu不搭噶
这事我也常干
比如就是开10个线程去不断的采集PLC的信号(有发有收,用同步while循环比用异步逻辑上简单的多)
while(true)里面if判断不行麽?
while(true)
{
if(isRunning){}
}
这个跟吃CPU没有关系,怕就怕if里正常处理通信不吃CPU,而如果不走if就变成while死循环而且没有sleep,那就超级吃CPU
我说的是while循环可以不用sleep,和吃不吃cpu不搭噶
while(true)循环不用sleep肯定是CPU满载的
这事我也常干
比如就是开10个线程去不断的采集PLC的信号(有发有收,用同步while循环比用异步逻辑上简单的多)
while(true)里面if判断不行麽?
while(true)
{
if(isRunning){}
}
这个跟吃CPU没有关系,怕就怕if里正常处理通信不吃CPU,而如果不走if就变成while死循环而且没有sleep,那就超级吃CPU
我说的是while循环可以不用sleep,和吃不吃cpu不搭噶
while(true)循环不用sleep肯定是CPU满载的
你说这句话之前,自己测试下?
你开2个线程死循环不sleep试试
这事我也常干
比如就是开10个线程去不断的采集PLC的信号(有发有收,用同步while循环比用异步逻辑上简单的多)
while(true)里面if判断不行麽?
while(true)
{
if(isRunning){}
}
这个跟吃CPU没有关系,怕就怕if里正常处理通信不吃CPU,而如果不走if就变成while死循环而且没有sleep,那就超级吃CPU
我说的是while循环可以不用sleep,和吃不吃cpu不搭噶
while(true)循环不用sleep肯定是CPU满载的
你说这句话之前,自己测试下?
你在循环体内加上Thread.Sleep(1);再看下占用率再说吧
如果你觉得只是循环输出字符串就要占用50%的CPU很正常 那也没什么好再讨论的了
这事我也常干
比如就是开10个线程去不断的采集PLC的信号(有发有收,用同步while循环比用异步逻辑上简单的多)
while(true)里面if判断不行麽?
while(true)
{
if(isRunning){}
}
这个跟吃CPU没有关系,怕就怕if里正常处理通信不吃CPU,而如果不走if就变成while死循环而且没有sleep,那就超级吃CPU
我说的是while循环可以不用sleep,和吃不吃cpu不搭噶
while(true)循环不用sleep肯定是CPU满载的
你说这句话之前,自己测试下?
你在循环体内加上Thread.Sleep(1);再看下占用率再说吧
如果你觉得只是循环输出字符串就要占用50%的CPU很正常 那也没什么好再讨论的了如果你觉得只是循环输出字符串就要占用50%的CPU很正常 那也没什么好再讨论的了 你想多了!我的机器不止运行着一个控制台程序!
这是跟显卡进行交互了,CPU可比显卡快的多了,都是CPU在等显卡
你开2个线程死循环不sleep试试
首先,我哪个截图,是针对#19的回复!我不否认,死循环会吃cpu!
这事我也常干
比如就是开10个线程去不断的采集PLC的信号(有发有收,用同步while循环比用异步逻辑上简单的多)
while(true)里面if判断不行麽?
while(true)
{
if(isRunning){}
}
这个跟吃CPU没有关系,怕就怕if里正常处理通信不吃CPU,而如果不走if就变成while死循环而且没有sleep,那就超级吃CPU
我说的是while循环可以不用sleep,和吃不吃cpu不搭噶
while(true)循环不用sleep肯定是CPU满载的
你说这句话之前,自己测试下?
你在循环体内加上Thread.Sleep(1);再看下占用率再说吧
如果你觉得只是循环输出字符串就要占用50%的CPU很正常 那也没什么好再讨论的了我并没有否认死循环会吃CPU截图是对你19#while(true)循环不用sleep肯定是CPU满载的 这个观点的不认同,仅此而已。
一个死循环不至于让CPU满载
你要不要把你那个死循环放到单核CPU上试试?
是你一开始说Sleep会造成高CPU占用 这点你能举个实例来?
你要不要把你那个死循环放到单核CPU上试试?
是你一开始说Sleep会造成高CPU占用 这点你能举个实例来?
针对这个例子
增加sleep肯定占用的cpu更低,有了sleep,cpu不是一直为它服务。去掉sleep,cpu就降下来了。我上面7#说的,谬论其实我是想表达,撸主的代码为什么一直sleep。
这事我也常干
比如就是开10个线程去不断的采集PLC的信号(有发有收,用同步while循环比用异步逻辑上简单的多)
while(true)里面if判断不行麽?
while(true)
{
if(isRunning){}
}
这个跟吃CPU没有关系,怕就怕if里正常处理通信不吃CPU,而如果不走if就变成while死循环而且没有sleep,那就超级吃CPU
我说的是while循环可以不用sleep,和吃不吃cpu不搭噶
while(true)循环不用sleep肯定是CPU满载的
你说这句话之前,自己测试下?
你在循环体内加上Thread.Sleep(1);再看下占用率再说吧
如果你觉得只是循环输出字符串就要占用50%的CPU很正常 那也没什么好再讨论的了我并没有否认死循环会吃CPU截图是对你19#while(true)循环不用sleep肯定是CPU满载的 这个观点的不认同,仅此而已。
一个死循环不至于让CPU满载不是百分之百那是因为你的CPU是双核4线程的, 而且在windows环境下一个线程最多运行20ms就会被强行让位子。
for(int i=0;i<300;j++){
int id = 去30多W的List中查找出结果;}如果程序中就一个线程那么是不怎么占CPU的,如果有几十个线程,我程序中大概30个左右吧,每一个里面都有一个FOR循环,FOR循环的次数几十到300,500左右,这样一跑起来CPU就异常的高,双CPU还能扛,单CPU没有办法看,主要原因就是那个LIST,里面数据太多了,去掉那一块就好了,LIST里面的数据少也不会占CPU的,程序里面没有死循环