分布式程序设计语言的进程通信和同步支持
时间:2012-2-28
被分配到处处理机上并行运行的同一个分布式应用程序的不同部分通常是需要相互合作与协同才能共同完成同一个任务的,为此,分布式程序设计语言必须提供通信与同步的支持,这种支持的机制主要是消息传递和共享数据等.
1)消息传递,发送者通过发送消息或调用远程过程显式地发动相互作用,接收者则可以显式地接收或隐式接收,消息传递的通信模式有以下几种.
a.同步和异步点到点消息通信.
b.一到多的消息传递通信.
c.双向的通信,例如远程过程调用和会合.
2)共享数据,分布式计算机系统中若分布式操作系统不提供分布式共享存储器功能时,分布式程序设计语言本身可以提供共享数据支持,它对运行在不同处理机上的分布式应用程序并行段使用共享数据进行通信和同步是基于语言实现中模拟共数据机制.觉的例如分布式数据结构和共享的逻辑变量.
此外,也可以使用对象实现数据共享,两个进程可以通过调用对给定对象的操作间接地相互通信和同步.
此外,除消息传递和共享数据的支持外,还有与同步有关的非确定性支持.例如Ada,并发C的选择语句和并发Prodog的Guarded Horn子句