Параллельный запуск функций
Добрый вечер!
Допустим у меня есть функция (обрабатывает изображение) и у меня есть 5 изображений (назовем их image1, image2, ..., image5). В обычном режиме, у меня обработка изображений происходить последовательно. Подскажите, как можно реализовать обработку изображений в два и более потока, и самое главное, чтобы эти потоки работали независимо друг от друга. Допустим запустили последовательно обработку image1 и image2 (они обрабатываются за разное время), и как только одно из изображений заканчивает обработку, мы запускаем image3, и т.д. И так пока мы не обработаем все изображения. Подскажите, как можно все это реализовать? |
Javascript однопоточный язык.
Вы можете имитировать многопоточность используя setTimeout( func , 1 ) Но всё равно все действия будут выполняться по очереди, пока одно не закончено второе не начнтся. |
что значит "запустили на обработку". это что, отсылка серверу, или обработка в canvas?
в любом случае, параллелизма можно достичь только с помощью webWorkers. |
melky
"запустили на обработку" - у меня есть программа, работает через командную строку, суть ее в том, что запускаем программу с изображением. не подскажите, через webWorkers можно запускать отдельно скрипт на windows? |
да, можно. это единственная на данный момент возможность реализации многопоточности в JS
|
у меня еcть проект Image Catalyst, хочу его перевести на javascript
Вы не могли посмотреть и сказать, можно ли организовать все это средствами javascript? а через что можно запустить скрипт под windows, если можно отдельно от браузера? Смотрел на движок V8, нет его компилированной версии? |
|
на счет Node.js, хотел узнать:
1. может ли работать с многоядерными процессорами 2. и что там на счет утечки памяти? проект может работать сутками. можно пример работы с webWorkers? Есть папка с изображениями PNG, как можно сделать в два потока обработку изображений. Обработка происходить с помощью приложения truepng с параметрами -zc9 -zm1-9 -zs0-3 -fe -a1 -force "изображение PNG". truepng и папка находится в одной папке со скриптом. |
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 09:36. |