Задать вопрос
@korner-brazers

Мультизадачность или потоки: возможно такое в браузере?

Есть браузер, в нём выполняется некий процесс, очень и очень трудный, скажем нарезка большого изображения на мелкие куски, в этот момент естественно браузер просто висит в облаках и не отвечает.

Ранее я читал что-то там про потоки, якобы можно операцию в отдельный поток положить и браузер будет фурычить, на словах конечно красиво звучит, а на практике кукишь.

Реально ли такое сделать? Хочу повесить нарезку изображения на отдельный поток и чтобы браузер продолжал нормально работать.
  • Вопрос задан
  • 365 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию
    6 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Web Workers предоставляют простое средство для запуска скриптов в фоновом потоке. Поток Worker'а может выполнять задачи без вмешательства в пользовательский интерфейс. К тому же, они могут осуществлять ввод/вывод, используя XMLHttpRequest (хотя атрибуты responseXML и channel всегда будут равны null). Существующий Worker может отсылать сообщения в JavaScript код, который его создал, отправляя сообщения в обработчик событий, указанный этим кодом (и наоборот).

https://developer.mozilla.org/ru/docs/DOM/Using_we...
Ответ написан
@forspamonly2
разбейте задачу на небольшие части, например вырезание по одному куску, и запускайте их по очереди через setTimeout(0). браузер будет успевать отвечать и перерисовываться за это время.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы