我已经实现了元启发式求解器并使用了 .NET 4.0Parallel.For
和Parallel.Foreach
. 它在我的中端机器上运行良好。但是搜索过于激烈,消耗太多资源,尤其是低端机器上的CPU时间。
因此,我认为我必须在需要时选择降低搜索强度。我想在不涉及算法的情况下降低 CPU 利用率。如果搜索完成较慢,只要它不会锁定机器并允许其他工作搁置,就可以了。
我正在考虑Thread.Sleep
使用方法,因为所有线程都是 100% CPU 绑定(无 I/O)。这会降低我需要的 CPU 使用强度吗?有没有更好的解决方案?