如何理解同步和异步
网络编程中同步和异步的定义:
同步:就是发起一个功能调用时,在这个调用没有得到结果之前,该调用就不返回或调用者不继续执行后续操作。
异步:异步与同步相对,当一个异步过程调用发出后,调用者在没有得到结果之前,就可以继续执行后续操作。当这个调用完成后,一般通过状态(轮询)、通知(消息)和回调来通知调用者。对于异步调用,调用的返回并不受调用者控制。
这里我们就把调用者认为是客户端,被调用者是服务端,当客户端调用服务端接口时,如果要等服务端返回结果才能进行下一步操作就是同步,如果不需要服务端返回结果都可以进行下一步操作就是异步。
举例:同步下载和异步下载
如现在很多统计列表都有导出功能,如果是同步导出,数据过多时等待服务器返回数据会需要很长时间才能进行操作,对用户体验十分不友好。
所以需要很长时间才能得到结果的接口,就要建议使用异步请求,减少用户差的体验。
在实际中的测试也要考虑如果一个功能需要调用多个接口,那么这些接口是同步还是异步的,会不会出现接口间有联系,但是因为异步调用导致两个接口无法关联上;又或者如数据有共享情况,如数据在读时可能被写,数据被写时可能被读,这就最好使用同步。
参考作者:唐T唐X 链接:https://www.jianshu.com/p/a493ebd775eb 著作权归作者所有。

浙公网安备 33010602011771号