怎么控制一个进程CPU的占用率

如何控制一个进程CPU的占用率?
比如说一个科学计算的程序,里面做的主要就是不停的循环计算,如果不做什么特殊处理,那么程序运行时候的CPU占用率一般都是100%,有没有什么办法可以控制他的占用率,最好是能够控制到某一个特定的百分比,杀毒软件MCAFEE查毒的时候就是可以控制CPU的占用率到一个特定的值,不一定很准确,大概在一个范围就行了。

我的问题可以说和这个问题,是一模一样的:
http://community.****.net/Expert/topic/5271/5271846.xml?temp=.9427759

------解决方案--------------------
设置优先级?
------解决方案--------------------
优先级
------解决方案--------------------
去查线程/进程的优先级,并跟踪这个进程的CPU时间使用情况,太高了就降优先级,还太高就再降,就这么办
------解决方案--------------------
所谓优先级是在与别人竞争时体现的, 如果你的程序在死循环, 其他程序都处于空闲等待状态时, 你的程序优先级在低也会占满CPU的.

------解决方案--------------------
让你的线程不占用CPU有一个办法, Sleep一段时间, ^_^
------解决方案--------------------
我也都是sleep...
------解决方案--------------------
只要让cpu不一直忙着处理你的程序,随便你怎么调用
降低优先级
等待
。。
------解决方案--------------------
采用两个线程,一个在跑循环,一个获取CPU使用率,当CPU占用达到指定值时,给跑循环的进程发送消息,让它暂时Sleep下来.
------解决方案--------------------
所谓优先级是在与别人竞争时体现的, 如果你的程序在死循环, 其他程序都处于空闲等待状态时, 你的程序优先级在低也会占满CPU的.
*********************************************************
这个说得很好,就像你得屏保一样,它的优先级是IDLE_PRIORITY_CLASS,你什么事情都不做的时候,它还不是照样抢占了CPU.
楼上说得方法也可行,不过看了之后总觉得有些问题,又说不出来.