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