用C语言编写一个死循环能让CPU使用率一直保持100%吗

用C语言编写一个死循环能让CPU使用率一直保持100%吗,第1张

如果在单任务系统中运行,可以用C语言编写一个死循环,让CPU使用率一直保持在100%。

例如:while(true);

(注:DOS 就是单任务 *** 作系统)

如果在多任务系统中运行,则不可能只通过一个死循环就让CPU使用率一直保持在100%。

除了死循环,你还要让你的程序获得最高的优先级。

如果是多处理器环境,你还要启用多个线程来占用每个处理器。

(注:Windows 就是多任务 *** 作系统)

for(i=1;;i++)

{

if(++i%2==0) continue;//因为每次循环都执行这个语句,不执行下面语句,进而执行下一次循环

if(++i%3==0) break; //这一句永远也不执行,所以跳不出循环,出现死循环了。

}

一般在运行循环语句的时候,会保证判断条件一直在做改变,所以在某个时刻导致条件为假而退出循环。

如:

int n=10;

while(n--)   //当n--为0的时候退出循环

{

    printf("n=[%d]\n");

}

而死循环,就是由于人为编写失误或程序需要导致循环条件一直为真,这样程序会永远执行循环中的语句,如:

int n=10;

while(n++)   //此时n++永远不等于0,则条件永远为真,死循环

{

    printf("n=[%d]\n");

}

额这情况是软件的问题,没有任何办法。

使用率是15%感觉卡就不是CPU的事情了,CPU一直都是全力运转的,当CPU使用只有15%那就表示他只需要15%,就算给你100%的使用还是要卡,当你软件需要CPU资源的时候,你不加限制系统是不会限制CPU是使用。这就像你玩CS一样,使用率就10%,但是很卡,这时你要想的不是怎么CPU使用那么低,而是要想想是不是内存,或者显卡问题。

private sub command1_click() '按钮的单机事件 dim i as integer '定义一个整型变量i i=1 '给i赋值为1 do while i<100 '如果i<100则进入循环 i=i1 '每次循环 i 的值都等于i1,也就是其本身 loop '如果i的值小于100则继续循环end sub '过程结束

这个简单,详细点说,有三种方法

1while(1){

},也可以学学二楼,只要使括号里的表达式为真,或使其值是不为零的整数即可

2for(表达式1;表达式2;表达式3){

}

表达式1和表达式3,随你写,也可以空着,表达式2空着。

如for(;;){

}

for(i=0;;i++){

}

for(i=0;;){

}等等。

只要使括号里的表达式2为真,或使其值是不为零的数即可

3do{

}while(1);

只要使括号里的表达式为真,或使其值是不为零的整数即可

唔,你这个程序必然会卡死的,因为你所有的 *** 作都是在一个进程中做的,当你的程序在这个无限的for循环中时,那么你的程序只能一直for循环,其他的都执行不了,不要说让你的灯闪烁或者让你的st_home赋值为3了,建议使用多线程。。。还有你这个st_led两次变换之间不加延时的话,灯反应的过来么

以上就是关于用C语言编写一个死循环能让CPU使用率一直保持100%吗全部的内容,包括:用C语言编写一个死循环能让CPU使用率一直保持100%吗、C语言死循环、在C语言中,while 和do while的死循环例子等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10109639.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存