Мультизадачность или потоки: возможно такое в браузере?
Всем привет, не знаю как точно спросить) вообщем есть браузер, в нем выполняется некий процесс, очень и очень трудный, скажем нарезка большого изображения на мелкие куски, в этот момент естественно браузер просто висит в облаках и не отвечает.
Ранее я читал что-то там про потоки, якобы можно операцию в отдельный поток положить и браузер будет фурычить, на словах конечно красиво звучит а на практике кукишь))
Так вот хочу убедится реально ли такое сделать? кто-то делал потоки?) Хочу повесить нарезку изображения на отдельный поток и чтобы браузер продолжал нормально работать, но похоже это все еще не реально такое сделать.
Web Workers предоставляют простое средство для запуска скриптов в фоновом потоке. Поток Worker'а может выполнять задачи без вмешательства в пользовательский интерфейс. К тому же, они могут осуществлять ввод/вывод, используя XMLHttpRequest (хотя атрибуты responseXML и channel всегда будут равны null). Существующий Worker может отсылать сообщения в JavaScript код, который его создал, отправляя сообщения в обработчик событий, указанный этим кодом (и наоборот).
разбейте задачу на небольшие части, например вырезание по одному куску, и запускайте их по очереди через setTimeout(0). браузер будет успевать отвечать и перерисовываться за это время.