В настоящее время я работаю над приложением, которое опирается на множество различных веб-сервисов для получения данных. Поскольку я хочу модулировать каждую услугу и иметь некоторую зависимость там (service1 должен запускаться до службы 2 и 3 и т. Д.), Я запускаю каждую службу в своей собственной задаче.Сколько задач слишком много?
Задачи сами по себе являются либо
работает активно, то есть они посылают их запрос к веб-службы и ожидает ответа или обработки ответа
ожидания (с помощью монитора и тайм-аут) - как только задача завершает выполнение всех задач ожидания и проверяет, завершены ли их зависимости
Теперь система runni с тем, что я бы назвал хорошей производительностью (тем более, что производительность довольно незначительна), однако приложение создает целый ряд задач.
Итак, на мой вопрос: ~ 200 задач в этом сценарии слишком много? Создают ли они столько накладных расходов, чтобы в принципе не-поточный подход был бы лучше?
Вероятно, это зависит от (1) задач, которые необходимо выполнить, и (2) гранулярности модулей. –
Задачи в основном направлены только на отправку запросов в веб-сервис, то есть отправку запроса на твиттер-каналы с очень незначительной обработкой (твиты фильтров). Я начинаю новую задачу для каждого элемента, что означает около 1-30 задач, выполняемых «одновременно» и не ожидающих зависимости. Обычно около одного модуля на каждый веб-сервис (в настоящее время около 10 - 15 модулей). – Scurals
Похоже на то, что это будет возможно, так как «запуск» просто означает ожидание ответа сервера ... –