Các Akka
tài liệu nói:Futures để chặn các cuộc gọi trong Scala
bạn có thể bị cám dỗ để chỉ quấn gọi chặn bên trong một tương lai và làm việc với điều đó thay vào đó, nhưng chiến lược này là quá đơn giản: bạn là khá khả năng tìm thấy tắc nghẽn hoặc hết bộ nhớ hoặc chủ đề khi ứng dụng chạy dưới tải tăng lên.
Họ đề nghị các chiến lược sau:
Làm gọi chặn trong một
Future
, đảm bảo một trên ràng buộc về số lượng cuộc gọi như vậy tại bất kỳ thời điểm nào (gửi một số lượng không giới hạn các nhiệm vụ này bản chất sẽ làm cạn kiệt bộ nhớ hoặc giới hạn luồng của bạn).Thực hiện cuộc gọi chặn trong một
Future
, cung cấp một nhóm luồng có giới hạn trên về số lượng chủ đề phù hợp với phần cứng mà ứng dụng chạy.
Bạn có biết về việc triển khai các chiến lược đó không?
Cảm ơn nhưng có vẻ quá Java. Tôi đang tìm cách tiếp cận "Scala-ish" hơn. – Michael
Vâng, tôi không nghĩ rằng nó có nhiều Scala-ish hơn thư viện 'scala.concurrent'. –
Ngoài ra, nó không nhận được thêm bất kỳ "Scala-ish" hơn http://www.scala-lang.org/files/archive/nightly/docs/library/index.html#scala.concurrent.ExecutionContext – axiopisty