当前位置: 首页 > news >正文

js事件循环详解

事件循环简介

JavaScript的事件循环是一种处理异步事件和回调函数的机制,它是在浏览器或Node.js环境中运行,用于管理任务队列和调用栈,以及在适当的时候执行回调函数。

事件循环的基本原理是,JavaScript引擎在空闲时等待事件的到来,然后将事件添加到事件队列中。事件循环会不断地检查队列中是否有事件,如果有,则会将事件取出并执行相应的回调函数。事件循环采用单线程模型,因此只有在当前事件处理程序执行完毕后,才能执行下一个事件处理程序。这种机制确保了JavaScript中的代码执行顺序和可预测性

浏览器的进程模型

tips: 既然文章标题写的是详解,那就得从原理开始写,不然就是吹牛逼了

js的事件循环跟浏览器是密切相关的,因为js的运行环境就是在浏览器里,浏览器则为 JavaScript 提供了运行环境,包括事件循环机制的实现。JavaScript 与浏览器之间的密切关系,意味着 JavaScript 的事件循环机制必然受到浏览器环境的影响。例如,浏览器的任务队列和微任务队列的管理方式会影响到 JavaScript 的事件循环机制。

所以说,理解js的事件循环就得先理解浏览器
当然,需要理解的不多,理解浏览器进程和线程就号

进程

啥叫进程?,
进程是计算机科学中,运行中的程序的一个抽象概念。它代表着一个独立的运行环境,包含程序代码、数据、堆栈以及运行该程序所需要的资源。每个进程都拥有其独立的地址空间,意味着一个进程无法直接访问另一个进程的内存数据,而只能通过特定的进程间通信机制进行交互。

在JavaScript中,进程和线程的概念并不是直接对开发者可见的。这些概念是在更底层的操作系统或运行环境中实现的。JavaScript开发者通常不需要直接管理进程或线程,但了解这些基本概念有助于理解更复杂的系统架构和性能优化。

简单来说,当一个程序运行时,它需要一块专属的内存空间来存储它的代码、数据等,这块内存空间就被理解为进程。进程是操作系统分配资源、调度执行的最小单位,每个正在运行的程序实例对应一个进程。

如下,每个应用占一个独立的内存空间,也就是进程,进程之间相互独立
在这里插入图片描述

http://www.lryc.cn/news/189706.html

相关文章:

  • 实战指南:使用 kube-prometheus-stack 监控 K3s 集群
  • golang调用scws实现简易中文分词
  • Excel 中使用数据透视图进行数据可视化
  • 在SIP 语音呼叫中出现单通时要怎么解决?
  • 【师兄啊师兄2】公布,李长寿成功渡劫,敖乙叛变,又一美女登场
  • 视频倒着播放,原来是这么实现的
  • # 02 初识Verilog HDL
  • 使用 Eziriz .NET Reactor 对c#程序加密
  • Restclient-cpp库介绍和实际应用:爬取www.sohu.com
  • 提升市场调研和竞品分析效率:利用Appium实现App数据爬取
  • 【Git笔记】之Git重命名详解
  • 201、RabbitMQ 之 Exchange 典型应用模型 之 工作队列(Work Queue)
  • 了解三层架构:表示层、业务逻辑层、数据访问层
  • 三相空气开关
  • uniapp 单位rpx ,设计稿尺寸px处理方式
  • @所有燃气企业,城燃企业数字化转型重点抓住的八个关键点
  • 大数据学习(4)-hive表操作
  • 第二证券:汇金增持有望催化银行板块 白酒企稳信号凸显
  • Kubernetes使用OkHttp客户端进行网络负载均衡
  • oracle设置自增ID
  • ubuntu22.04设置中文
  • Java中 创建不可变集合
  • options.css 内容优化2 --chatPGT
  • MS4344:24bit、192kHz 双通道数模转换电路
  • Talk | ACL‘23 杰出论文,MultiIntruct:通过多模态指令集微调提升VLM的零样本学习
  • PLC编程速成(二)
  • 【萌新向】Sql Server保姆级安装教程-图文详解手把手教你安sql
  • LLVM(5)ORC实例分析
  • jvm内存使用测试
  • Web1.0——Web2.0时代——Web3.0