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

JavaScript高级(十八)---进程和线程,宏任务和微任务

 进程和线程

进程(process):计算机已经运行的程序,是操作系统管理程序的一种方式,我们可以认为,启动一个应用程序,就会默认启动一个进程(也可能是多个进程)。

线程(thread):操作系统能够运行运算调度的最小单位,通常情况下它被包含在进程中,每一个进程中都至少启动一个线程来执行应用程序的代码,这个线程被称为主线程

宏任务微任务

宏任务队列(macrotask queue):ajax、setTimeout、setInterval、DOM监听、UI Rendering等

微任务队列(microtask queue):Promise的then回调、 Mutation Observer API、queueMicrotask()等

面试题:

setTimeout(function () {console.log("setTimeout1");new Promise(function (resolve) {resolve();}).then(function () {new Promise(function (resolve) {resolve();}).then(function () {console.log("then4");});console.log("then2");});
});new Promise(function (resolve) {console.log("promise1");resolve();
}).then(function () {console.log("then1");
});setTimeout(function () {console.log("setTimeout2");
});console.log(2);queueMicrotask(() => {console.log("queueMicrotask1")
});new Promise(function (resolve) {resolve();
}).then(function () {console.log("then3");
});

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

相关文章:

  • How to install mongodb on redhat 7.7
  • 关于继承是怎么样的?那当然是很好理解之
  • 高可用系统有哪些设计原则
  • LeetCode-回文数
  • 50. 【Linux教程】源码安装软件
  • 《操作系统实践-基于Linux应用与内核编程》第10章--实验 Qt聊天程序
  • 探究Kafka主题删除失败的根本原因
  • JavaSE(上)-Day7
  • 记录一下在Pycharm中虚拟环境的创建
  • Python从入门到精通秘籍九
  • 善于利用window挂在全局变量
  • 《C缺陷和陷阱》-笔记(5)
  • 【数字图像处理matlab系列】保存图像
  • 八股文三(Spring、Spring Cloud Alibaba)
  • 一文带你详解天池工业数据集
  • 08 龙芯平台openstack部署搭建-neutron-controller部署
  • JAVA 100道题(6)
  • Leetcode面试经典150题
  • 王者荣耀使用的UDP通信,十几年编程没用过的协议
  • HiveQL详解
  • Linux/Bizness
  • mysql 数据库 增删改查 基本操作
  • 计算机网络——物理层(编码与调制)
  • PHP魔术方法详解
  • 游戏 AI 反作弊|内附解决方案详情!
  • elementUI组件库样式修改整理
  • 还是了解下吧,大语言模型调研汇总
  • Win11初始化系统遇一文解决
  • vr虚拟现实游戏世界介绍|数字文化展览|VR元宇宙文旅
  • kotlin 程序 编译与执行