Worker manager

20 000 руб. за проект • наличный расчёт, безналичный расчёт
11 января 2017, 17:00 • 2 отклика • 65 просмотров
Задача:

Разработать систему, позволяющую снизить нагрузку при выполнении громоздких синхронных операций для приложений написанных с использованием технологии Adobe AIR. Под громоздкими синхронными операциями подразумеваются такие операции как разбор (parsing) больших документов, сложные математические вычисления, обработка большого количества данных, а также другие операции, занимающие неприемлимое для основного потока процессорное время, сказывающиеся на производительности отрисовки кадров.

Решение:

Решение предполагает написание системы базирующейся на технологии AS3 Workers. При этом внешнее использование данной системы предполагает, что стандартная в AS3 модель управления потоками (далее Воркерами) должна быть инкапсулирована внутрь. Это значит, что публичный API данной системы должен позволять управлять воркерами не прибегая к использованию таких манипуляций как работа с Worker.workerDomain, создание каналов связи, подписка на стандартные события MessageChannel и т. д., все это должно выполняться внутри данной системы.

В рамках решения задачи необходимо разработать Worker manager (далее Менеджер), представляющий собой реализацию некого контейнера, позволяющего управлять воркерами через единый интерфейс.

Менеджер должен быть реализован на основе шаблона «Одиночка» (Singleton) и предоставлять доступ к управлению воркерами. Доступ к воркерам должен основываться на вызове публичных методов Менеджера и событийной модели в рамках спецификации AS3 (addEventListener, removeEventListener, …)

Данный интерфейс должен содержать методы для запуска, остановки, мониторинга состояния и межпоточного общения между основным потоком и потоком выполнения воркера.

Подробное описание в приложенном файле. Готовы ответить на любые вопросы по задаче.


Файлы