Каков наиболее эффективный способ создания дополнительных потоков из потока?

Вопрос

Каков наиболее эффективный способ создания дополнительных потоков из потока?

контекст

Я изменяю дизайн приложения, чтобы сделать его более эффективным. Одним из самых больших улучшений будет запуск параллельных операций; однако я новичок в параллельном программировании. Сценарий, который я хочу улучшить, выглядит следующим образом:

У нас есть несколько торговых площадок, с которых можно импортировать заказы и затем загружать их в нашу систему ERP. Каждый рынок имеет несколько типов записей для импорта. В настоящее время это делается как MP->RT->RT->RT->RT где базар (MP), а затем последующие типы записей (RT) добавлены.

То, что я хочу сделать, это поток:

MP 
  |-> RT
  |-> RT
  |-> RT
  |-> RT
MP
  |-> RT
  |-> RT
  ...

где вызывается несколько торговых площадок, а затем одновременно добавляются несколько типов записей.

Я в настоящее время использую executor service это контролирует MP задачи, но я хочу знать лучший способ справиться RT задачи.

1 ответ

Решение

Разве вы не можете отправить каждую задачу RT в ThreadPool (MT) и позволить им запускаться отдельно?

У вас может быть несколько исполнителей (ThreadPool - один из других, выберите тот, который больше всего соответствует вашим потребностям) или только один, и каждая задача RT может быть передана внутри них.

Другие вопросы по тегам