• node 同步和异步的概念


    我们学习node的文件系统模块fs时node给我们提供了两种方式操作文件:同步和异步 今天重点讲解下异步操作,node中的异步编程思想 首先我们通过一个简单的案例来了解一下异步

    <script>
    console.log("111111");
    
    setTimeout(()=> {
        console.log("222222");
    }, 400)
    
    console.log("333333");
    
    setTimeout(()=> {
        console.log("444444");
    },300)
    
    console.log("555555");
    </script>
    
    //思考一下 当我们运行上面的代码,log打印的顺序是什么?

    按照我们平时写代码的经验是代码从上往下依次按照顺序执行:

    111111

    222222

    333333

    444444

    555555

    但我们实际运行的结果是

     为什么会造成这样的情况呢?我们先卖个关子!先来说下同步的概念

    Js是在设计之出就是为了解决页面交互,操作DOM的能力,js是单线程的,因为一次只能执行一段代码 所以默认执行顺序就是同步的。但因为多核cpu让js有了异步的模式

    同步的优点是:顺序执行,不会出现第二段代码还未执行第三段就执行的情况

    同步的缺点是:阻塞 当执行的代码段时间太长 后续的代码只能等待上段代码执行完 就会造成卡死的状态 这对用户相当不友好,用户体验很差。

    所以当请求时间比较长的程序,就用异步来解决如:网络请求 文件IO 等..

    异步的优点:非阻塞 接收到任务先传到后台 再去接收其它任务 然后按照执行速度执行 谁执行快就先执行谁

    异步的缺点:会出现第二段每执行 第三段就执行了 会导致错误

    所以回到上面那个例子就是,谁执行快就先执行谁的

  • 相关阅读:
    Yarn和Mesos:资源管理调度平台
    链接、装载、库
    PostgreSQL查询优化简介
    STL内存管理
    jemalloc总结
    ptmalloc总结
    数据库查询优化
    Linux交换空间和内存不足
    Linux内存管理
    HBase:分布式列式NoSQL数据库
  • 原文地址:https://www.cnblogs.com/qjuly/p/14494116.html
Copyright © 2020-2023  润新知