UI多线程-你需要知道的JS执行机制原理

本文深入探讨了JavaScript的执行机制,包括单线程、同步任务、异步任务及其处理方式。浏览器常驻线程如JS引擎线程、GUI线程、HTTP请求线程和定时触发器线程协同工作,通过事件循环(Event Loop)实现异步执行。理解这一机制有助于提升开发效率和解决调错问题。
摘要由CSDN通过智能技术生成

为什么要了解JS执行机制?
JS执行机制是js执行的底层原理,理解了底层原理对于开发方法效率会提高,调错都效率也会增加很多。在未来发展道路上,了解底层才能够在技术的道路上走得更远!下面来和总结一下js执行机制原理吧。我从浏览器常驻的线程逐一说起。

浏览器常驻的线程

  1. js引擎线程(js主线程)
    js执行是单线程,也就是说同一时间内只能做一件事(同步),但是js中也包含一些异步的事情,比如我们下班介绍的一些。
  2. GUI线程(绘制用户界面与JS主线程是互斥)
    这个线程大家听起来可能比较陌生,但是这是大家一直在开发中看到的东西。大家回忆一些button按钮,我们点击时按钮颜色的变化,这个线程就是由GUI线程决定的!
  3. http网络请求线程(处理用户GET POST请求,等返回结果后将回调函数推入到任务队列当中)
    比如ajax的请求就是异步,和js主线程也是互斥的!
  4. 定时触发器线程(setTimeout,setInterval等待时间结束后把执行函数推入任务队列当中)
  5. 浏览器事件处理线程(将 click、mouse 等交互事件发生后将这些事件放入事件队列中)
    以上的GUI线程,http网络请求和定时器,浏览器事件处理线程均是异步的和js主线程是互斥的。

JS执行机制

js是单线程,意思是js在执行代码的时候那么其他的任务就不能做。但是当有异步的任务时发生的步骤也是非常重要的。

JavaScript 是基于单线程运行的,同时又是可以异步执行的,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值