ВопросКаков наиболее эффективный способ создания дополнительных потоков из потока?
Что является наиболее эффективным способом создания дополнительных потоков из потока?
Контекст
Я перепроектирование приложение, чтобы быть более эффективным. Одним из самых больших улучшений будет одновременная работа; однако я новичок в параллельном программировании. Сценарий, который я хочу улучшить, выглядит следующим образом:
У нас есть несколько торговых площадок для импорта заказов, а затем загрузка в нашу систему ERP. Каждый рынок имеет несколько типов записей для импорта. В настоящее время это делается как MP->RT->RT->RT->RT
, где вызывается торговая площадка (MP
), а затем добавляются последующие записи (RT
).
То, что я хочу сделать это поток, как:
MP
|-> RT
|-> RT
|-> RT
|-> RT
MP
|-> RT
|-> RT
...
где несколько рынки вызываются, а затем несколько типов записей добавляются одновременно.
В настоящее время я использую executor service
, который управляет MP
задачами, но я хочу знать, как лучше всего обращаться с задачами RT
.
Почему бы вам не воспользоваться службой-исполнителем для задания RT? – amicngh
@amicngh Это на самом деле то, что я рассматривал - я просто не уверен, что создание нескольких служб-исполнителей - самый эффективный способ сделать что-то. –
Каждая задача MP обрабатывает множество задач RT, поэтому лучше создать ThreadPool и отправить задачу RT в этот пул. Каждая задача будет выполнена. – amicngh