什么是 JavaScript 单线程?
原文链接:https://note.noxussj.top/?source=sifou
单线程是指当存在多个任务时候,所有任务都必须排队并且按照顺序执行。这里就会有同学问为什么不是多线程?假设是多线程,同时执行一些任务,某个任务进行了该 dom 的修改,而某个任务进行了该 dom 的删除,这样就会出现一些问题?既然大家都是同时执行的(不分先后)那么要以谁的为准呢?因为多线程是指多个任务同时执行,同时的概念是没有区分先后的。
注意:所以 JavaScript 一开始就被设计为单线程的工作模式。
缺点
因为是单线程,所有任务都是必须排队,按顺序执行,这样就会出现某些任务要执行很久,形成了堵塞,导致后面的任务都一直处于等待状态。为了解决堵塞的问题,JavaScript 将任务的执行模式分成了两种,同步模式(Synchronous)、异步模式(Asynchronous)。
最全面的前端笔记来啦,包含了入门到入行的笔记,还支持实时效果预览。小伙伴们不需要再花时间去写笔记,或者是去网上找笔记了。面试高频提问和你想要的笔记都帮你写好了。支持移动端和 PC 端阅读,深色和浅色模式。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。