知识点
进程与线程 & 浏览器中常用的线程
GUI渲染线程
JS引擎线程
事件触发线程
定时触发器线程
异步HTTP请求线程
WebWorker
…
JS是单线程异步编程
EventLoop
EventQueue
WebAPIS
宏任务 macrotask [ˈmækroʊ]
微任务 microtask [ˈmaɪkroʊ]
| 宏任务 macrotask | 微任务 microtask |
| setTimeout/setInterval | requestAnimationFrame「有争议」 |
| 事件绑定/队列 | Promise.then/catch/finally |
| XMLHttpRequest/Fetch | async/await |
| setImmediate「Node」 | queueMicrotask |
| MessageChannel | process.nextTick「Node」 |
| MutationObserver | |
| IntersectionObserver |

这篇博客深入探讨了JavaScript的单线程执行模型,详细解析了GUI渲染线程、JS引擎线程等浏览器中常用线程的工作原理。同时,介绍了EventLoop和EventQueue的概念,阐述了宏任务与微任务的执行顺序,包括setTimeout、Promise、async/await等异步处理方式。此外,还提到了WebWorker在多线程中的应用。
958

被折叠的 条评论
为什么被折叠?



