无奈,怎能才能降低C语言程序的CPU使用率!!

来源:百度知道 编辑:UC知道 时间:2024/09/28 11:43:34
我用的是C语言程序,每次用VC跑穷举程序的时候CPU都是100%占用!弄得电脑都干不了别的事。怎么才能降低程序的占用率,比如只占用70%,这样我就可以在穷举数据的时候干别的事!
这种情况能通过在程序里增加控制代码现实吗?还是有什么软件可以控制VC的CPU占用率?
而且我还发现,在我的双核的电脑上运行时,cpu并没有100%占用,但是办公室里的单核电脑上就是100%占用?
希望能有高手帮帮忙!不要求回答全,知道多少帮多少啊!

单线程程序的都是这样的,只用一个核,所以占用50%。
可以用多线程技术解决CPU占用率过高的问题。
以下为本人原创:

#include <stdio.h>
#include <windows.h>
#include <process.h>

int end = 0;
void calc()
{
int i=1;
while(i++);
end = 1;
}//长时间计算子程序

void MyThread(void*)
{
calc();
_endthread();//结束线程
}//线程主体

int main()
{
int n;
HANDLE hThread = (HANDLE)_beginthread(MyThread, 0, NULL);//创建另一线程
for(n=0;!end;++n)
{
//idle time = 80%, busy time = 20%
if(n==10) n=0;
if(n==0) SuspendThread(hThread);//挂起线程
if(n==8) ResumeThread(hThread);//恢复线程
Sleep(100);
}
printf("OK!\n");
return 0;
}//主线程

把进程优先级降低一级.