限制Web Worker CPU利用率?

Bri*_*man 6 javascript html5 multithreading web-worker

我正在考虑使用Web Workers编写一个长时间运行的CPU密集型操作,并且似乎可以将客户端的CPU推送到100%.(请参阅Can Web Workers可以使用100%的多核CPU吗?)

有谁知道限制Web工作者的CPU利用率的任何有效方法?

HBP*_*HBP 1

确实有办法。

构建您的计算,以便可以通过重复调用在退出之前执行部分工作的函数来完成计算。在退出之前,使用 setTimeout 在几毫秒内安排对工作函数的新调用。可以调整等待时间以使用更少或更少的 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
}
Run Code Online (Sandbox Code Playgroud)