美文网首页
运行机制event-loop(事件轮询)

运行机制event-loop(事件轮询)

作者: 飞鱼Q | 来源:发表于2017-01-07 19:44 被阅读0次

javascript为什么是单线程

为了避免复杂性(如:时有两个线程,一个线程在某个DOM节点上添加内容,另一个线程删除了这个节点,这时浏览器应该以哪个线程为准?)
html5允许JavaScript脚本创建多个线程,但是子线程完全受主线程控制,且不得操作DOM。所以,并没有改变JavaScript单线程的本质。

任务队列(task queue)

同步(synchronous)

主线程上排队的任务,b任务如果排在a任务后面,只能乖乖等a完成后再执行b任务。

异步(asynchronous)

a是一个异步调用api方法,
主线程执行到它时,它先发一个请求给服务器,a的回调直接被放到任务队列中,主线程继续往下执行,直到主线程的同步任务全部完成,再从任务队列中调出异步任务

var req = new XMLHttpRequest();
req.open('GET', url);    
req.onload = function (){};    
req.onerror = function (){};    
req.send();

参考来源 JavaScript 运行机制详解:再谈Event Loop

相关文章

  • 运行机制event-loop(事件轮询)

    javascript为什么是单线程 为了避免复杂性(如:时有两个线程,一个线程在某个DOM节点上添加内容,另一个线...

  • 浅析 event-loop 事件轮询

    原文出自:https://www.pandashen.com 浏览器中的事件轮询 JavaScript 是一门单线...

  • 描述event-loop(事件轮询)机制

    event loop是什么? JS是单线程运行的.异步要基于回调来实现.event loop就是异步回调的实现原理...

  • 前端问(面试)题

    dom执行顺序 事件委托原理 原型链的作用,与作用域链的区别 js事件轮询原理、JavaScript的运行机制 结...

  • 单线程/异步/事件轮询(event-loop)

    1.单线程 只有一个线程,同一时间只能做一个事情,JS代码需要一行行执行,不是多行执行 --------单线程 只...

  • 成长(10/2000)——面试题合集7

    事件循环机制event-loop 事件循环机制由三部分组成:调用栈、消息队列和微任务队列。 event-loop开...

  • 回调函数

    浏览器的事件轮询 首先js是单线程的,js异步是浏览器事件轮询的结果。事件轮询的字面意思就是事件循环。事件轮询的步...

  • Event Loop 事件循环

    名词解释 "event-loop": 事件循环"non-blocking": 非堵塞"callback": 回调函...

  • 事件循环 & 继承 杂记

    事件循环 事件: 键盘事件, 其他东西触发的, 统称为事件 轮询: 操作系统通过轮询的方式, 每个一段时间就询问事...

  • Netty之线程模型

    1、事件驱动模型 通常,我们设计一个事件处理模型的程序有两种思路: 轮询方式,线程不断轮询访问相关事件发生源有没有...

网友评论

      本文标题:运行机制event-loop(事件轮询)

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