javascript - js同步编程与异步编程的区别,异步有哪些优点,为什么要异步,异步有哪些困扰
PHP中文网
PHP中文网 2017-04-11 10:27:54
[JavaScript讨论组]

最近面试的被问到这样一个题
能大概说出些,但是不全

能否科普下相关内容,网上查的都大同小异

PHP中文网
PHP中文网

认证0级讲师

全部回复(3)
迷茫

这是个朴素但是不精确的回答, 主要是帮你理解

同步的代码, 在很多情况下, CPU其实是在等待中度过的, 比如等待一个网络连接, 等待MySQL服务器的数据返回
异步的代码, 就是把这些等待的时间给充分利用起来了, 把网络连接, 访问数据库这种耗时的工作时都在注册一个callback或者event之后切换出来, 让CPU先去干别的活(例如响应别的请求), 当网络连接,数据库返回结果时再回来执行刚才的callback中的代码

异步的代码可以大大的提升系统的容量上限, 因为充分利用了空闲的CPU时间, 但是对于单个的请求的性能提升帮助比较有限 (除非你的单个请求大量依赖这种IO操作)

阿神

js是单线程。单线程碰到阻塞就楞b了(阻塞在那边),所以要用异步。

巴扎黑

同步你得等着,不能干其他的;异步你得先说好了干啥,就不管了,干其他的了。后续代码有数据依赖,你就得同步候着。没依赖关系就各玩各的

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号