2012-02-21 23 views
5

Tôi bị ướt chân trong Lập trình hướng hành động với một ngôn ngữ được gọi là SALSA, cho phép diễn viên di chuyển từ máy này sang máy khác.Erlang/Scala Migrating Actors từ nút này sang nút khác

Tôi đã tự hỏi liệu đây có phải là điều có thể được thực hiện bằng cách sử dụng Scala hoặc Erlang là hai ngôn ngữ lập trình hướng đến diễn viên có nhiều động lực hơn sau đó.

Nếu một trong các ngôn ngữ này hỗ trợ tính năng này, bạn vui lòng chỉ cho tôi một số tài liệu tham khảo cách triển khai một cái gì đó như thế này?

Trả lời

0

Là phần giới thiệu, hãy xem akka rất thú vị documentation. Đó là giá trị dứt khoát đọc nó. Có lẽ bạn có thể suy nghĩ lại các diễn viên đang chuyển động của bạn từ máy này sang máy khác, vì akka tự động thực hiện điều này bằng cấu hình, theo như tôi biết.

3

Vâng, Erlang không (afaik) cho phép di chuyển các quy trình (ít nhất, PID được gắn với nút). Nếu bạn muốn làm điều đó cho một chức năng cụ thể, những gì bạn có thể làm là bắt đầu một quá trình trên một nút khác (sử dụng rpc:call và một hàm bao bọc, ví dụ) và chuyển trạng thái cho nó.

Tất nhiên, điều đó có tác dụng nếu bạn giữ trạng thái của mình xung quanh chứ không phải trong từ điển quy trình. Và, tất nhiên, PID của quy trình mới sẽ khác, nhưng bạn có thể, ví dụ, để lại quá trình hiện tại của bạn treo và chuyển tiếp tin nhắn tới quy trình mới.

Các vấn đề liên quan