前面我们实现了通用的 rpc,但是存在一个问题,同步获取响应的时候没有超时处理。
如果 server 挂掉了,或者处理太慢,客户端也不可能一直傻傻的等。
当外部的调用超过指定的时间后,就直接报错,避免无意义的资源消耗。
思路
调用的时候,将开始时间保留。
获取的时候检测是否超时。
同时创建一个线程,用来检测是否有超时的请求。
实现
思路
调用的时候,将开始时间保留。
获取的时候检测是否超时。
同时创建一个线程,用来检测是否有超时的请求。
超时检测线程
为了不影响正常业务的性能,我们另起一个线程检测调用是否已经超时。