2012-10-15 30 views
5

Tôi là người mới tham gia mô hình diễn viên. Bất cứ ai có thể vui lòng giải thích vòng đời của một diễn viên trong mô hình diễn viên? Tôi đã tìm kiếm câu trả lời trong tài liệu, nhưng tôi không thể tìm thấy bất cứ điều gì thỏa đáng.Vòng đời của một diễn viên trong mô hình diễn viên

Tôi quan tâm đến những gì diễn viên thực hiện sau khi hoàn thành phương thức onReceive() - liệu nó vẫn còn sống hay đã chết? Chúng ta có thể kiểm soát cuộc đời của mình để nói "đừng chết, chờ ở đó cho tin nhắn tiếp theo"? Ví dụ: với một bộ định tuyến vòng tròn, nếu tôi đặt nó có 5 diễn viên - nó sẽ luôn phân phối tác phẩm trên cùng một số diễn viên 5? Hoặc các diễn viên bị phá hủy và tạo ra bất cứ lúc nào có một tin nhắn, nhưng giới hạn tối đa luôn là 5.

Cảm ơn!

Trả lời

7

Actor luôn hoạt động trừ khi bạn rõ ràng "giết" nó (hoặc nó bị treo bằng cách nào đó). Khi nó nhận được một tin nhắn, nó sẽ "sử dụng" một luồng, xử lý tin nhắn, sau đó quay lại trạng thái "nhàn rỗi". Khi nhận được một tin nhắn khác, nó sẽ trở thành "hoạt động" một lần nữa.

Trong trường hợp của một bộ định tuyến vòng tròn với 5 Actor s, nó là giống nhau 5 Actor s - bộ định tuyến không tạo mới mỗi khi một thông báo được gửi đến bộ định tuyến.

Mô hình diễn viên tuân theo mô hình "dễ bị cô lập" (đồng thời) - nó chỉ đóng gói trạng thái - khác Actor s không thể chạm trực tiếp vào trạng thái này, chúng chỉ có thể tương tác với thông qua truyền thông điệp. Actor s phải là "hoạt động" để giữ trạng thái.

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