Skip to main content

Đối tượng hoạt động là gì?

Trong lập trình và kỹ thuật máy tính, một đối tượng hoạt động là một loại mẫu thiết kế có thể được sử dụng để giúp đảm bảo rằng một số dịch vụ luôn có sẵn trong một hệ thống đa luồng hoặc đồng thời.Một đối tượng hoạt động là một đối tượng thực hiện một cơ chế để nó có thể nhận và xử lý đầu vào từ các đối tượng bên ngoài mà không buộc các đối tượng bên ngoài phải chờ thực thi hoàn thành.Cơ chế này cũng cho phép nhiều đối tượng có thể chạy đồng thời sử dụng các đối tượng hoạt động mà không có khả năng thời gian chặn dài trong đó các quy trình đồng thời phải dừng lại và chờ truy cập.Điều này thường đạt được bằng cách gói các đối tượng hoạt động trong giao diện có thể truy cập công khai, được gọi là proxy và sau đó thực hiện một loại hệ thống hàng đợi bên trong các đối tượng để các thông báo được lưu trữ để xử lý sau.Điều này tạo ra một mẫu thiết kế trong đó các đối tượng gửi tin nhắn đến các đối tượng hoạt động và sau đó tiếp tục xử lý của chúng cho đến khi đối tượng hoạt động xử lý thông báo và sau đó thông báo cho các đối tượng gọi của kết quả để chúng có thể cập nhật trạng thái của chúng phù hợp., một đối tượng bình thường có thể được gọi là một đối tượng thụ động.Trong một ví dụ chương trình đơn giản, một đối tượng thụ động có thể hoạt động như một rơle máy chủ trò chuyện, trong đó các đối tượng từ xa liên hệ với đối tượng thụ động để truyền tin nhắn cho mọi người khác trên máy chủ.Bất cứ khi nào đối tượng máy chủ thụ động nhận được thông báo trò chuyện từ một đối tượng từ xa, nó phải xử lý yêu cầu ngay lập tức và sau đó gửi ngay đầu ra, tất cả trong khi đối tượng từ xa tạm dừng thực hiện cho đến khi quá trình được thực hiện, một hiệu ứng được gọi là chặn.Tạo các luồng khác nhau trong chương trình có thể giải quyết vấn đề chặn thực thi nhưng sau đó bắt đầu các vấn đề với đồng bộ hóa. Trong một mẫu thiết kế đối tượng hoạt động, cùng một đối tượng máy chủ trong ví dụ trên sẽ chạy trong luồng riêng của nó tách biệt với các đối tượng khác.Nó cũng sẽ được bọc trong một số loại giao diện được gọi là proxy cũng đang chạy trong một luồng riêng biệt, đôi khi là luồng thực thi chương trình chính.Khi một đối tượng từ xa muốn yêu cầu đối tượng máy chủ gửi tin nhắn trò chuyện, nó sẽ liên hệ với đối tượng proxy, chuyển cho tất cả thông tin cần thiết và sau đó quay lại trạng thái thực thi bình thường thay vì chờ. Giao diện proxy sau đó chuyển đổiThông tin từ đối tượng từ xa vào một thông báo mà nó chuyển đến hàng đợi để đối tượng hoạt động xử lý.Tại thời điểm này, cả giao diện proxy và đối tượng từ xa đều tự do tiếp tục thực thi và không bị chặn.Trong khi đó, đối tượng hoạt động hoạt động để giữ cho hàng đợi trống, xử lý từng tin nhắn đến.Nếu đối tượng gọi yêu cầu một số thông tin được trả về bởi đối tượng hoạt động, thì cấu trúc gọi lại có thể được sử dụng để thông báo cho đối tượng từ xa của bất kỳ thay đổi nào trong trạng thái.