美文网首页
JS单线程、任务队列

JS单线程、任务队列

作者: XuZiYa | 来源:发表于2018-10-08 19:34 被阅读0次

    JavaScript只在一个线程上运行。也就是说,JavaScript同时只能执行一个任务,其他任务都必须在后面排队等待。但这并不意味着JS只有一个线程,事实上,JavaScript引擎有多个线程,单个脚本只能在一个线程上运行,其他线程都是在后台配合。所谓单线程,是指在JS引擎中负责解释和执行JavaScript代码的线程只有一个。
    首先,主线程会执行同步任务,当主线程遇到异步任务,指给对应的模块进行处理(WEB API),当达到指定的触发条件,相应的回掉函数被放入任务队列;等到同步任务全部执行完,就会去看任务队列里面的异步任务。如果满足条件,那么异步任务就重新进入主线程开始执行,这时它就变成同步任务了。等到执行完,下一个异步任务再进入主线程开始执行。一旦任务队列清空,程序就结束执行。

    image.png

    相关文章

      网友评论

          本文标题:JS单线程、任务队列

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