Truyền thông điệp

Trong khoa học máy tính, truyền thông điệp (tiếng Anh: message passing) là kỹ thuật để gọi hành vi (ví dụ như chạy chương trình) trên máy tính. Chương trình gọi sẽ gửi thông điệp tới một quá trình (có thể là tác nhân hay đối tượng) và dựa vào quy trình với cơ sở hạ tầng hỗ trợ để chọn và gọi mã thực sự để chạy. Truyền thông điệp khác với lập trình thông thường ở chỗ quá trình, chương trình con, hay hàm được gọi trực tiếp bằng tên. Truyền thông điệp là chìa khóa cho một số mô hình lập trình tương tranh và hướng đối tượng.

Truyền thông điệp được sử dụng phổ biến trong phần mềm máy tính hiện đại. Nó được sử dụng như một cách để các đối tượng tạo nên một chương trình hoạt động với nhau và là phương tiện để các đối tượng và hệ thống chạy trên các máy tính khác nhau (ví dụ trên Internet) tương tác. Truyền thông điệp có thể dược hiện thực theo nhiều cơ chế khác nhau, bao gồm các kênh.

Ví dụ

  • Actor model implementation
  • Amorphous computing
  • Communicating sequential processes
  • Flow-based programming
  • SOAP

Xem thêm

  • Active message
  • Điện toán phân tán
  • Event loop
  • Messaging pattern
  • Message passing in computer clusters
  • Giao thức truyền thông điệp
  • Các ngôn ngữ lập trình bao gồm truyền thông điệp dưới dạng một tính năng trung tâm:
    • Erlang
    • Elixir
    • Go
    • Objective-C
    • Scala
    • Smalltalk
    • Concurrent ML

Tham khảo

Đọc thêm

  • Ramachandran, U.; M. Solomon; M. Vernon (1987). “Hardware support for interprocess communication”. Proceedings of the 14th annual international symposium on Computer architecture. ACM Press.
  • Dally, William. “The Jellybean Machine”. Truy cập ngày 7 tháng 6 năm 2013.
  • McQuillan, John M.; David C. Walden (1975). “Some considerations for a high performance message-based interprocess communication system”. Proceedings of the 1975 ACM SIGCOMM/SIGOPS workshop on Interprocess communications. ACM Press.
  • Shimizu, Toshiyuki; Takeshi Horie; Hiroaki Ishihata (1992). “Low-latency message communication support for the AP1000”. Proceedings of the 19th annual international symposium on Computer architecture. ACM Press.

Liên kết ngoài

  • A Packet History of Message Passing
  • x
  • t
  • s
Giao tiếp liên quá trình
Dữ liệu được trao đổi giữa các luồng trong chương trình máy tính
Phương pháp
  • File
  • Memory-mapped file
  • Truyền thông điệp
  • Message queue and mailbox
  • Named pipe
  • Anonymous pipe
  • Pipe
  • Semaphore
  • Shared memory
  • Signal
  • Sockets
    • Network
    • Unix
Giao thức
and tiêu chuẩn
  • Apple event
  • COM+
  • CORBA
  • D-Bus
  • DDS
  • DCE
  • ICE
  • OpenBinder
  • ONC RPC
  • POSIX (nhiều phương pháp)
  • SOAP
  • REST
  • Thrift
  • TIPC
  • XML-RPC
Thư viện phần mềm
và khung
  • D-Bus
  • libevent
  • SIMPL
  • LINX