Проблема многопоточности в Java / Scala для веб-службы - PullRequest
3 голосов
/ 22 января 2011

В среде веб-сервиса я хочу сделать несколько независимых http-вызовов на каждый запрос, который получает мое приложение.Поскольку эти вызовы независимы, делать их последовательно не имеет смысла, поэтому мне нужен своего рода параллелизм.

Насколько я понимаю, не имеет смысла небрежно создавать новые темы для каждого http-вызова.А также, воссоздание всех этих потоков приносит много накладных расходов.

Так что я думаю, что лучше всего было бы создать FixedThreadPool в синглтоне для всех вызовов http и использовать его в приложении.

Это лучший выбор?

Ответы [ 2 ]

4 голосов
/ 22 января 2011

Вы должны серьезно взглянуть на Akka и, в частности, поддержку Camel , которую она предлагает.

3 голосов
/ 23 января 2011

Возможно, вы захотите использовать библиотеку AsyncHttpClient AsyncHttpClient для очень простых асинхронных http-вызовов.Хорошая серия постов в блоге, в которых описывается использование этой библиотеки: Асинхронный переход с использованием AsyncHttpClient

...