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. Actor model implementation Amorphous computing Communicating sequential processes Flow-based programming SOAP 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 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. A Packet History of Message Passing