远程过程调用 vs. 本地过程调用

3
RPC(远程过程调用)和LPC(本地过程调用)有什么区别?

1
一个是远程的,另一个是本地的...!? 请提供您遇到这些术语的更多上下文,并说明其中不清楚的部分。 - deceze
1
RPC是一种进程间通信技术,允许客户端和服务器软件在分布式环境中进行通信。LPC用于两个用户模式进程之间的通信。我想了解这两者之间更多的区别。 - Gimhani
1
LPC - https://en.wikipedia.org/wiki/Local_Procedure_Call && RPC - https://en.wikipedia.org/wiki/Remote_procedure_call - Am_I_Helpful
2个回答

13

请阅读它们各自的维基百科页面:

RPC - https://en.wikipedia.org/wiki/Remote_procedure_call

LPC - https://en.wikipedia.org/wiki/Local_Procedure_Call

所有内容都在那里解释了。首先要花一些功夫去理解,如果遇到困难,你仍然可以提出一些非平凡问题。

区别:

  • RPC 比 LPC 慢,因为它使用网络来调用方法。
  • 通过 RPC,可以在多种方式下对远程机器上的过程调用进行执行。
  • 参数和返回值需要可序列化(使用 Java 术语)。
  • 由于网络问题,RPC 可能会失败。
  • 在使用之前必须设置 RPC。
  • 调用远程程序的语言和实现远程程序的语言不一定相同。
  • 等等。

在努力方面我也同意。至少引用一些相关页面的段落,而不仅仅是链接它们。这最多只是一个评论,而不是答案。 - deceze
这也是一个含糊不清的问题,无法在有限的时间内回答,而且回答对任何人都没有用处。我添加了一些区别,因为问题要求这样做。 - Silver
同意。有些事情确实不能也不应该被回答。 - deceze
希望问题被编辑后变得有用。我会相应地修改我的答案。 - Silver

2
在RPC中,程序可以在不同的计算机上执行,而在LPC中,程序是由主机计算机执行的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接