如何理解同步和异步
网络编程中同步和异步的定义:
同步:就是发起一个功能调用时,在这个调用没有得到结果之前,该调用就不返回或调用者不继续执行后续操作。
异步:异步与同步相对,当一个异步过程调用发出后,调用者在没有得到结果之前,就可以继续执行后续操作。当这个调用完成后,一般通过状态(轮询)、通知(消息)和回调来通知调用者。对于异步调用,调用的返回并不受调用者控制。
这里我们就把调用者认为是客户端,被调用者是服务端,当客户端调用服务端接口时,如果要等服务端返回结果才能进行下一步操作就是同步,如果不需要服务端返回结果都可以进行下一步操作就是异步。
举例:同步下载和异步下载
如现在很多统计列表都有导出功能,如果是同步导出,数据过多时等待服务器返回数据会需要很长时间才能进行操作,对用户体验十分不友好。
所以需要很长时间才能得到结果的接口,就要建议使用异步请求,减少用户差的体验。
在实际中的测试也要考虑如果一个功能需要调用多个接口,那么这些接口是同步还是异步的,会不会出现接口间有联系,但是因为异步调用导致两个接口无法关联上;又或者如数据有共享情况,如数据在读时可能被写,数据被写时可能被读,这就最好使用同步。
参考作者:唐T唐X 链接:https://www.jianshu.com/p/a493ebd775eb 著作权归作者所有。
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧