0
Tải bản đầy đủ (.pdf) (53 trang)

Lập lịch và thực thi Behaviour

Một phần của tài liệu LUẬN VĂN: KIẾN TRÚC PHẦN MỀM DỰA TRÊN TÁC TỬ PPTX (Trang 31 -32 )

Một tác tử có thể thực thi đồng thời vài behaviour. Tuy nhiên, điều quan trọng cần lưu ý là việc lập lịch của các behaviour trong tác tử không có sự ưu tiên (giống threads của java), nhưng có sự hợp tác với nhau. Điều này có nghĩa khi một behaviour được lập lịch cho việc thực thi phương thức action() của nó được gọi và chạy cho đến khi trả về.

Mô hình này hiện có một số lợi thế:

Nó chấp nhận một luồng Java đơn giản bằng tác tử. Điều này rất quan trọng trong môi trường giới hạn về nguồn lực như điện thoại di động.

Nó cung cấp cải thiện hiệu suất trong việc chuyển hành vi nhanh hơn so với chuyển luồng Java.

Nó loại bỏ tất cả các vấn đề đồng bộ giữa các behaviour đồng thời truy cập vào cùng tài nguyên từ tất cả các behaviours được thực thi bởi cùng Java thread. Điều này cũng làm nâng cao hiệu suất.

Khi chuyển đổi behaviour xảy ra, tình trạng của tác tử không bao gồm bất kì thông tin ngăn xếp nào. Điều này cho phép việc thực hiện liên tục một số tính năng nâng cao quan trọng, chẳng hạn như lưu lại trạng thái của tác tử trong bộ lưu trữ lâu dài, hoặc chuyển các tác tử đến container khác để thực thi từ xa (tác tử di động).

Các bước thực hiện của luồng tác tử được mô tả trong Hình 2.3. Điều quan trọng cần chú ý là một behaviour như phần dưới đây sẽ giải quyết trước bất kì behaviour khác đang được thực thi bởi phương thức action() của nó và không trả về. Khi không có các behaviour để thực thi, thread của tác tử sẽ sleep để đỡ tốn thời gian CPU.Luồng này sẽ được đánh thức trở lại một khi có một behaviour để thực thi.

Hình 2.3. Luồng thực thi của tác tử

Một phần của tài liệu LUẬN VĂN: KIẾN TRÚC PHẦN MỀM DỰA TRÊN TÁC TỬ PPTX (Trang 31 -32 )

×