rpc远程调用一些看法

本地过程调用都是同步的,但是,线程被认为是某种形式的异步调用:一个函数被pthread_create调用,看起来是一起执行,但是调用者需通过pthread_join等待这个线程结束。远程过程调用(RPC)通过门实现,在进程内看,门是描述符标示的,在进程外,门是用文件系统中的路径标示。

与回调有啥不同?

在服务器端,先创建门,传入的是要异步调用的函数指针,返回的是门的标示描述符。使用前面说的路径关联门的标示句柄。。在客户端打开此门,传入的是路径,返回的是此门的标示句柄,之后的调用就是通过这个句柄完成。

如果有多个客户端请求服务器怎么办?

实质上服务器调用door_create创建的返回的描述符只是算作一个引用,创建一下引用数加1.而原本的描述符在服务器进程会一直打开着。客户端打开的描述符也算作一个打开的引用,直到描述符被关闭。调用完引用数减1....

....
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值