浏览器的事件循环(轮询)模型

模型原理图

   

相关重要概念


    1. 执行栈
        execution stack
        所有的代码都是在此空间中执行的
    2. 浏览器内核
        browser core
        js引擎模块(在主线程处理)
        其它模块(在主/分线程处理)
    3. 任务队列
        task queue
    4. 消息队列
        message queue
    5. 事件队列
        event queue
    6. 事件轮询
        event loop
        从任务队列中循环取出回调函数放入执行栈中处理(一个接一个)
    7. 事件驱动模型
        event-driven interaction model
    8. 请求响应模型
        request-response model
    

模型的运转流程

 * 执行初始化代码, 将事件回调函数交给对应模块管理
  * 当事件发生时, 管理模块会将回调函数及其数据添加到回调列队中
  * 只有当初始化代码执行完后(可能要一定时间), 才会遍历读取回调队列中的回调函数执行

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值