• js事件循环详解


    事件循环简介

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

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

    浏览器的进程模型

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

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

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

    进程

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

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

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

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

  • 相关阅读:
    Celery框架从入门到精通
    Java NIO详解:深入理解非阻塞式网络编程
    自学黑客(网络安全)必学内容
    kotlin中使用Room数据库(包含升降级崩溃处理)
    传输安全HTTPS
    FFmpeg合并多个音频并解决声音变小的方法
    c#反射(Reflection)
    华为机试真题 C++ 实现【工号不够用了怎么办?】
    【Vite + Vue3】ElementPlus el-select 实现下拉选择图标,并将图标回显到选择框中
    洛谷 P3387 【模板】缩点(scc 缩点)
  • 原文地址:https://blog.csdn.net/weixin_44368963/article/details/133678224