(a few bits). Address-passing is not possible for distributed systems since the systems use separate address spaces. Web browsers and web servers are examples of processes that communicate by message-passing. A URL is an example of referencing a resource without exposing process internals. A subroutine call or method invocation will not exit until the invoked computation has terminated. Asynchronous message-passing, by contrast, can result in a response arriving a significant time after the request message was sent. A message-handler will, in general, process messages from more than one sender. This means its state can change for reasons unrelated to the behavior of a single sender or client process. This is in contrast to the typical behavior of an object upon which methods are being invoked: the latter is expected to remain in the same state between method invocations. In other words, the message-handler behaves analogously to a volatile object. Mathematical models The prominent mathematical models of message passing are the Actor model and Pi calculus. In mathematical terms a message is the single means to pass control to an object. If the object responds to the message, it has a method for that message. Alan Kay has argued that message passing is more important than objects in OOP, and that objects themselves are often over-emphasized. The live distributed objects programming model builds upon this observation; it uses the concept of a distributed data flow to characterize the behavior of a complex distributed system in terms of message patterns, using high-level, functional-style specifications. Examples Actor model implementation Amorphous computing Communicating sequential processes Flow-based programming SOAP See also Active message Distributed computing Event loop Messaging pattern Message passing in computer clusters Message Passing Interface Programming languages that include message passing as a centric feature: AppleScript Erlang Elixir HyperCard, LiveCode Go Objective-C Rust Scala Smalltalk Self Concurrent ML References Further reading External links A Packet History of Message Passing Distributed computing architecture Inter-process communication