我正在考虑使用Web Workers编写一个长时间运行的CPU密集型操作,它似乎确实可以将客户端的CPU使用率提高到100%。(参见Can Web Workers utilize 100% of a multi-core CPU?)
有没有人知道任何有效的方法来限制网络工作者的CPU使用率?
发布于 2012-10-22 01:23:15
确实有一种方法。
组织你的计算,这样它们就可以通过重复调用一个函数来完成,该函数在退出之前执行了一部分工作。在退出之前,使用setTimeout在几毫秒内调度对worker函数的新调用。等待时间可以调整为使用更多或更少的CPU时间。
function doWork () {
var timer = new Date ();
// do n cyles of work here
timer = new Date () - timer; // time spent working
setTimeout (doWork, timer); // wait an equivalent time for 50% processor load
}https://stackoverflow.com/questions/12999891
复制相似问题