美文网首页
理解异步

理解异步

作者: HelloWorld__JS | 来源:发表于2021-07-24 16:04 被阅读0次

同步与异步

  • 同步:调用之后得到结果,在干别的任务
  • 异步:调用之后不管结果,继续干别的任务
  • 进程:程序运行的实例,同一程序可以产生多个进程,一个进程包含一个或多个线程
  • 线程:操作系统能够进行运算调度的最小单位,一次只能执行一个任务,有自己的调用栈、寄存器环境,同一进程的线程共享进程资源

JavaScript单线程

  • 单线程JS怎么实现异步?(通过浏览器内核多线程实现异步)
  • 浏览器的进程(浏览器进程,渲染进程,GPU进程,网络进程,插件进程)
  • 渲染进程(GUI线程,JS引擎线程,定时触发器线程,事件触发线程,异步HTTP请求线程)
    • GUI线程:渲染布局
    • JS引擎线程:解析、执行JS,与GUI互斥线程
    • 定时触发器线程:setTimeout、setInterval
    • 事件触发线程:将满足触发条件的事件放入任务队列
    • 异步HTTP请求线程:XHR所在线程
  • 异步场景(定时器、网络请求,事件绑定,ES6 Promise)

定时器

  • 过程
    • 1.调用webApi(setTimeout)
    • 2.定时器线程计数2s
    • 3.事件触发线程将定时器时间放入任务队列
    • 4.主线程通过Event Loop遍历任务队列
  • 使用定时器时需要注意
    • 定时器可能不会按时执行(同步任务耗时太久)
    • 定时器嵌套5次之后最小间隔不能低于4ms
  • 应用场景:防抖 节流 倒计时 动画

相关文章

  • 理解异步

    同步与异步 同步:调用之后得到结果,在干别的任务 异步:调用之后不管结果,继续干别的任务 进程:程序运行的实例,同...

  • (2018-05-30.Python从Zero到One)8、(T

    7 异步与WebSockets 知识点 理解同步与异步执行过程 理解异步代码的回调写法与yield写法 Torna...

  • Vue 异步更新及nextTick原理

    目标 理解 Vue 异步更新机制 理解 nextTick 原理   先来看看官网关于 异步更新队列[https:/...

  • javascript异步理解

    javascript是单线程编程,意思就是javascript引擎一次只能执行一个语句。这样在出现长时间的请求的话...

  • JS 异步理解

    一、异步 JS的异步:新开一个子线程,在主线程执行完之后,执行子线程, 第二个参数:时间,代表在子线程中等待执行的...

  • 理解异步编程

    js是一个单线程的脚本语言,之所以是单线程是由于js要操作dom,如果在同一时间,一个线程修改dom,一个线程删除...

  • 异步新理解

    很多时候程序并不能这样写 a()ret = IO()c(ret )d()因为如果IO阻塞了将会影响d的执行,d跟I...

  • js异步处理(一)——理解异步

    我对异步的好奇心起于学习Promise时老是一知半解,最近在看《你所不知道的js(中)》,书中对异步这部分的讲解还...

  • 异步与回调

    异步 我对异步的理解: 异步是不等结果,往下执行;同步是等结果出现后,再往下执行 代码中出现异步程序时,如例2中,...

  • Java异步

    1、同步、异步、阻塞、非阻塞 理解Java的异步调用,还需要从这四个基础概念理解;如果要从Java方面来理解这四个...

网友评论

      本文标题:理解异步

      本文链接:https://www.haomeiwen.com/subject/moxvmltx.html