Один из способов имитировать многопоточность состоит в том, чтобы заставить функцию Javascript выполнить небольшую работу, а затем вызвать setTimeout
с той же самой функцией; затем функция выполнит небольшую работу и снова вызовет setTimeout
, и этот цикл будет продолжаться вечно или пока они не закроют кадр или пока вы не дадите сигнал прекратить работу. У MDN есть хороший пример того, как это настроить.
Между таймаутами Javascript не должен занимать процессорное время. Возможно, вам придется немного поиграть, чтобы увидеть, как долго должны быть ваши таймауты - 1 мс, вероятно, слишком короток, но 1 с определенно слишком длинен. Другим фактором будет скорость процессора компьютера, на котором выполняется задание, поэтому вам может потребоваться выполнить некоторый псевдо-бенчмаркинг на стороне клиента с помощью Javascript, прежде чем вы сможете определить, как долго задерживать каждый раз.