我想使用额外的cpu周期来完成我自己的一些处理,我想知道是否有人可以指出我如何开始这个方向的正确方向?
答案 0 :(得分:3)
我建议编写一个连续运行的程序(确保它偶尔会阻塞),然后简单地将其设置为低优先级。 OS Scheduler(Windows / * nix)应自动处理其余部分。
答案 1 :(得分:1)
您可以通过编写在后台运行的程序来使用额外的CPU周期。
您可以检查CPU使用情况,以了解计算机何时处于空闲状态(但这不一定是个好主意),或者您可以监听鼠标/键盘活动。
要检查C#中的CPU使用情况,请使用以下代码:
float cpuUsage; //Between 0 and 100
using (var cpu = new PerformanceCounter("Processor", "% Processor Time", "_Total")) {
cpu.NextValue(); //First call gives wrong values
cpuUsage = cpu.NextValue();
}
要检查键盘或鼠标活动,您需要使用键盘/鼠标挂钩;有关说明,请参阅here。
答案 2 :(得分:1)
编写一个应用程序。将其线程优先级设置为“background”。完成工作;)