美文网首页
JavaScript单线程以及同步异步的理解

JavaScript单线程以及同步异步的理解

作者: Geek大姚 | 来源:发表于2018-10-30 13:43 被阅读0次

Javascript语言的执行环境是”单线程”(single thread)。

所谓”单线程”,就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推。

这种模式的好处是实现起来比较简单,执行环境相对单纯;坏处是只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行。常见的浏览器无响应(假死),往往就是因为某一段Javascript代码长时间运行(比如死循环),导致整个页面卡在这个地方,其他任务无法执行。

为了解决这个问题,Javascript语言将任务的执行模式分成两种:同步(Synchronous)和异步(Asynchronous)。

“同步模式”就是上一段的模式,后一个任务等待前一个任务结束,然后再执行,程序的执行顺序与任务的排列顺序是一致的、同步的;”异步模式”则完全不同,每一个任务有一个或多个回调函数(callback),前一个任务结束后,不是执行后一个任务,而是执行回调函数,后一个任务则是不等前一个任务结束就执行,所以程序的执行顺序与任务的排列顺序是不一致的、异步的。

相关文章

  • JavaScript异步编程

    目录 JavaScript采用单线程模式工作的原因 单线程的优势和弊端 同步模式与异步模式同步模式异步模式同步模式...

  • JavaScript单线程以及同步异步的理解

    Javascript语言的执行环境是”单线程”(single thread)。 所谓”单线程”,就是指一次只能完成...

  • js的事件循环

    javascript是一个单线程语言,javascript分为同步机制及异步机制,其中同步机制是放在栈中,而异步机...

  • JS同步异步与事件循环

    文章序 理解JS的单线程和同步异步逻辑、事件循环(event loop)是学习JavaScript进阶的必经之路,...

  • JavaScript的简介和他的单线程

    简介 JavaScript的俩大特点: 解释型的编程语言; 单线程; JavaScript的同步异步: 我们常说“...

  • 同步和异步

    同步概念 由于JavaScript是单线程的,在浏览器里代码按顺序执行,这就是同步。 异步概念 异步的来源:Jav...

  • 3.1KOA Promise 语法

    Promise 语法 同步与异步 我们知道,JavaScript的执行环境是「单线程」。所谓单线程,是指JS引擎中...

  • event loop

    javascript是单线程的 任务队列 所有的任务分为同步任务和异步任务,同步任务是在主线程上排队执行的,异步任...

  • 异步与很多其他

    Javascript语言的执行环境是“单线程”,Javascript语言将任务的执行模式分成两种:同步和异步。 “...

  • 深入浅出Javascript事件循环机制-上(转)

    浅薄概念 Javascript是单线程,执行任务时,分同步任务和异步任务,执行同步任务时放入栈中执行,执行异步任务...

网友评论

      本文标题:JavaScript单线程以及同步异步的理解

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