摘要 |
<p>PROBLEM TO BE SOLVED: To add support for concurrency to a mainstream object-oriented language, thereby providing language extensions that enable development of programs that can either be run in one address space, distributed across a plurality of processes on a single computer, or distributed across a local-area or wide-area network, without recoding the program.SOLUTION: Central to this aspect is the notion of a "service", which can execute its own algorithmic (logical) thread. Services do not share memory or synchronize using explicit synchronization primitives. Rather, both data sharing and synchronization are accomplished via message-passing, e.g., a set of explicitly refined messages are sent between services. Messages can contain data that is shared, and a pattern of message exchange realizing necessary synchronization.</p> |