如何理解同步和异步

网络编程中同步和异步的定义:

同步:就是发起一个功能调用时,在这个调用没有得到结果之前,该调用就不返回或调用者不继续执行后续操作。

异步:异步与同步相对,当一个异步过程调用发出后,调用者在没有得到结果之前,就可以继续执行后续操作。当这个调用完成后,一般通过状态(轮询)、通知(消息)和回调来通知调用者。对于异步调用,调用的返回并不受调用者控制。

这里我们就把调用者认为是客户端,被调用者是服务端,当客户端调用服务端接口时,如果要等服务端返回结果才能进行下一步操作就是同步,如果不需要服务端返回结果都可以进行下一步操作就是异步。

举例:同步下载和异步下载

如现在很多统计列表都有导出功能,如果是同步导出,数据过多时等待服务器返回数据会需要很长时间才能进行操作,对用户体验十分不友好。

所以需要很长时间才能得到结果的接口,就要建议使用异步请求,减少用户差的体验。

在实际中的测试也要考虑如果一个功能需要调用多个接口,那么这些接口是同步还是异步的,会不会出现接口间有联系,但是因为异步调用导致两个接口无法关联上;又或者如数据有共享情况,如数据在读时可能被写,数据被写时可能被读,这就最好使用同步。

参考作者:唐T唐X 链接:https://www.jianshu.com/p/a493ebd775eb  著作权归作者所有。



如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
posted @   yuxinn  阅读(811)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示