Cách tốt nhất để diễn viên ngủ là gì? Tôi có các diễn viên được thiết lập làm đại lý muốn duy trì các phần khác nhau của cơ sở dữ liệu (bao gồm việc lấy dữ liệu từ các nguồn bên ngoài). Vì một số lý do (bao gồm không quá tải cơ sở dữ liệu hoặc truyền thông và các vấn đề tải chung), tôi muốn các diễn viên ngủ giữa mỗi hoạt động. Tôi đang xem một cái gì đó giống như 10 đối tượng diễn viên.Diễn viên đang ngủ?
Các diễn viên sẽ chạy vô hạn, vì sẽ luôn có dữ liệu mới, hoặc ngồi trong bàn chờ để được truyền sang các phần khác của cơ sở dữ liệu, vv có thể tại bất kỳ thời điểm nào.
Tôi có thể làm điều này với vòng lặp vô hạn và ngủ ở cuối mỗi vòng lặp, nhưng theo http://www.scala-lang.org/node/242 diễn viên sử dụng một nhóm luồng được mở rộng bất cứ khi nào tất cả các chuỗi bị chặn. Vì vậy, tôi tưởng tượng một Thread.sleep trong mỗi diễn viên sẽ là một ý tưởng tồi như sẽ lãng phí chủ đề không cần thiết.
Tôi có lẽ có thể có một diễn viên trung tâm với vòng lặp riêng của mình để gửi tin nhắn tới người đăng ký trên đồng hồ (như các đồng hồ quan sát sự kiện không đồng bộ)?
Có ai đã làm bất kỳ điều gì tương tự hoặc có bất kỳ đề xuất nào không? Xin lỗi cho thông tin thêm (có lẽ thừa).
Cheers
Joe
+1 để hiển thị nhập và có ví dụ về REPL-runnable. – opyate
+1 mẹo này hoạt động hoàn hảo –