- vừa được xem lúc

Active Object pattern trong C

0 0 3

Người đăng: Nguyễn Đặng Triều

Theo Viblo Asia

1. Khái niệm

Active Object là một mẫu thiết kế nhằm

  • Tách lời gọi phương thức ra khỏi thực thi phương thức.
  • Thực thi phương thức được xử lí không đồng bộ thông qua event/message queue.
  • Giúp tránh race condition và đơn giản hóa concurrency

👉 Active Object giống như là 'thread" nhỏ độc lập có queue riêng và scheduler riêng để xử lí event.

2. Cấu trúc cơ bản

Queue (Mailbox / event queue)

  • Nơi nhận các message/event gửi đến
  • Chỉ có chính AO đọc queue này.

Scheduler loop

  • Vòng lặp sử lí các event có trong queue
  • Đảm bảo mỗi lần chỉ xử lí một event -> tránh race conditon.

Dispatch method

  • Nhận event và gọi tới handler xử lí tương ứng

Proxy

  • Thay vì gọi trực tiếp AO, client gọi Proxy -> proxy đóng gói request thành event rồi gửi vào queue AO.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Memory layout của một chương trình C/C++

1. Đặt Vấn Đề.

0 0 58

- vừa được xem lúc

Sự khác nhau giữa bộ nhớ Heap và bộ nhớ Stack trong lập trình

1. Giới thiệu. . Như chúng ta đã biết thì việc Quản lý bộ nhớ đối với một lập trình viên là rất quan trọng.

0 0 72

- vừa được xem lúc

Tích hợp thư viện C/C++ vào một dự án Flutter như thế nào?

Chào các bạn hôm nay rảnh rỗi thì mình viết một bài hướng dẫn về cách tích hợp một thư viện C/C++ vào một dự án Flutter. Thì cũng khá đơn giãn thôi vì Flutter đã cũng cấp cho chúng ta một thư viện khá

0 0 76

- vừa được xem lúc

Programming

Definition of Programming. .

0 0 50

- vừa được xem lúc

Gọi hàm của C++ trong Python bằng ctypes

Nếu đã từng dùng qua các thư viện liên quan đến toán học của Python như numpy, các bạn sẽ để ý thấy các nó có tốc độ xử lý rất nhanh. Điều này là do một phần của package này được viết bằng C/C++ và ph

0 0 51

- vừa được xem lúc

Build ứng dụng Cross Platform với Go và CGO

1. Giới thiệu.

0 0 52