请简述同步和异步的区别是什么

简介: 请简述同步和异步的区别是什么

我们先了解同步和异步是什么?同步是阻塞模式,异步是非阻塞模式


同步:就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等待下去,


直到收到返回信息才继续执行下去。相当于是当客户端发送请求给服务端,在等待服务端响应的请求时,客户端不做其他的事


情,当服务器做完了才返回客户端。这样的话客户端需要一直等待,用户使用起来会有不友好。


异步:是指进程不需要一直等下去,而是继续执行下面的操作,不管进程的状态。当有信息返回是系统会通知进程进行处


理,这样可以提高执行的效率。相当于当客户端发送服务端请求时,在等待服务端响应的时候,客户端可以做其他的事情,这


样节约了时间,提高了效率。


注意:存在就有其道理,异步虽然好,但是有些问题是要用同步来解决的,比如有些东西我们需要的是拿到返回的数据再

进行操作的,这些是异步无法解决的。


  • 比如说一个人边吃饭,边看手机,边说话就是异步处理的方式


  • 同步处理就不一样了,说话后再吃饭,吃完饭再看手机,必须等上一件事情完成了,才执行后面的事情


  • 而在前端开发中常见的异步包括: setTimeout、setlnterval、ajax


  • setTimeout是定时延时进行函数,只执行一次


  • setlnterval也是定时延时函数,但是这个函数本身可以一直执行,不会停止,除非把它消除


  • ajax是前端常用的和后台进行异步交互数据的请求方式,其实它本身也包括同步和异步,同步就是由代码从上到下顺


  • 序执行,而异步的ajax是我们发送请求到服务器之后,只需要再监听服务器的响应即可,不用等到请求结束时执行

  • 其他的代码,这就是异步aiax。


目录
相关文章
lua字符串与十六进制数据转换
lua字符串与十六进制数据转换
537 2
|
7月前
|
人工智能 JavaScript API
【HarmonyOS NEXT+AI】问答03:找不到DevEco Studio Cangjie Plugin下载链接?
本文针对学员在“HarmonyOS NEXT+AI大模型打造智能助手APP(仓颉版)”课程中提出的问题进行解答:为何无法在华为开发者社区官网找到DevEco Studio Cangjie Plugin下载链接。文中详细介绍了Cangjie Plugin的功能及获取方式,包括STS和Canary版本的申请流程,并提供了学习仓颉编程语言的资源与建议。对于普通开发者,STS版本是当前首选;同时,通过课程与官方教程,可快速掌握仓颉语言核心语法及API,助力开发HarmonyOS NEXT AI智能助手应用。
383 3
【HarmonyOS NEXT+AI】问答03:找不到DevEco Studio Cangjie Plugin下载链接?
|
5月前
|
Web App开发 前端开发 JavaScript
前端性能优化利器:图片懒加载实战解析
前端性能优化利器:图片懒加载实战解析
|
存储 缓存 搜索推荐
|
JavaScript 前端开发 API
【前端开发】JS同步与异步调用,Vue2基础知识
本文简要介绍了JavaScript中的同步与异步调用以及Vue2的基础知识。 ### JS同步与异步调用 - **同步调用**:代码按顺序执行,每个任务完成后才执行下一个。 - **异步调用**:允许代码并发执行,不必等待前一个任务完成。 - **回调函数**:传统异步模式,如`setTimeout`。 - **Promise**:解决回调地狱问题,链式调用 `.then()`。 - **async/await**:基于Promise,使异步代码看起来像同步代码。 ### Vue2基础知识 - **核心概念**:指令、实例、组件、模板、数据绑定和生命周期钩子。 - **指令**
548 5
|
前端开发 JavaScript
同步和异步有什么区别
同步和异步有什么区别
1348 0
|
存储 数据管理 API
OpenStack的块存储卷管理快照与克隆
【8月更文挑战第27天】
406 4
|
JSON 程序员 数据格式
程序员必知:同步接口和异步接口
程序员必知:同步接口和异步接口
1374 0
|
JavaScript API
vue3父子组件相互调用方法详解
vue3父子组件相互调用方法详解
|
移动开发 前端开发 JavaScript
移动端 Hybrid 开发:RN、Flutter与Webview的抉择与融合
【4月更文挑战第6天】本文对比了移动端Hybrid开发的三种主流方案——React Native (RN),Flutter和Webview。RN基于JavaScript,适合React熟练的团队,适用于性能要求高、跨平台的中大型应用。Flutter,使用Dart语言,以其高性能和自定义UI适用于追求极致体验的项目。Webview适合快速移植Web应用至移动端,开发成本低但性能受限。选择时要考虑项目规模、性能需求、团队技术栈等因素,实际应用中常采用混合策略,如RN/Flutter+Webview、原生模块集成等,以实现最佳开发效果和长期技术规划。
1173 0