当前位置:   article > 正文

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

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

 进程和线程

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

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

宏任务微任务

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

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

面试题:

  1. setTimeout(function () {
  2. console.log("setTimeout1");
  3. new Promise(function (resolve) {
  4. resolve();
  5. }).then(function () {
  6. new Promise(function (resolve) {
  7. resolve();
  8. }).then(function () {
  9. console.log("then4");
  10. });
  11. console.log("then2");
  12. });
  13. });
  14. new Promise(function (resolve) {
  15. console.log("promise1");
  16. resolve();
  17. }).then(function () {
  18. console.log("then1");
  19. });
  20. setTimeout(function () {
  21. console.log("setTimeout2");
  22. });
  23. console.log(2);
  24. queueMicrotask(() => {
  25. console.log("queueMicrotask1")
  26. });
  27. new Promise(function (resolve) {
  28. resolve();
  29. }).then(function () {
  30. console.log("then3");
  31. });

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/289968
推荐阅读
相关标签
  

闽ICP备14008679号