Akka
dokumentacja mówi:Futures do blokowania połączeń w Scala
możesz ulec pokusie, aby po prostu zawinąć blokowania połączeń wewnątrz przyszłość i pracować z tym, że zamiast, ale ta strategia jest zbyt prosta: jesteś całkiem prawdopodobne znajdowanie wąskich gardeł lub brak pamięci lub wątków, gdy aplikacja działa pod zwiększonym obciążeniem.
Sugerują one następujące strategie:
Czy połączenie blokujące obrębie
Future
, zapewniając górną granicę liczby takich połączeń w dowolnym momencie (składając liczbę nieograniczony zadań niniejszego natura wyczerpuje twoją pamięć lub granice wątków).Wykonaj wywołanie blokowania w ramach
Future
, udostępniając pulę wątków z górnym limitem liczby wątków, która jest odpowiednia dla sprzętu, na którym działa aplikacja.
Czy znasz jakieś wdrożenie tych strategii?
Dzięki, ale wygląda na zbyt Java. Szukam więcej podejścia "Scala-ish". – Michael
Cóż, nie sądzę, że dostaje więcej Scala-ish niż biblioteka 'scala.concurrent'. –
Ponadto nie pojawia się więcej "Scala-ish" niż http://www.scala-lang.org/files/archive/nightly/docs/library/index.html#scala.concurrent.ExecutionContext – axiopisty