单线程的原因:
(1)这主要取决于它的用途,js作为浏览器的脚本语言,主要用途是处理与用户交互和操作dom。这就决定了它只能是单线程。
(2)假定js是多线程,在一个线程上对DOM节点进行修改,另一个线程对该DOM节点进行删除,此时浏览器该以哪个进程为准呢?
(3)于是为了避免这种情况,js从诞生开始就决定了它是一门单线程的语言,这是它的核心特征
单线程的利弊:
利:代码依次执行,确保了事件执行的稳定性,不会产生多线程冲突。
弊:遇到耗时任务容易造成堵塞,影响后续代码的执行。
单线程的原因:
(1)这主要取决于它的用途,js作为浏览器的脚本语言,主要用途是处理与用户交互和操作dom。这就决定了它只能是单线程。
(2)假定js是多线程,在一个线程上对DOM节点进行修改,另一个线程对该DOM节点进行删除,此时浏览器该以哪个进程为准呢?
(3)于是为了避免这种情况,js从诞生开始就决定了它是一门单线程的语言,这是它的核心特征
单线程的利弊:
利:代码依次执行,确保了事件执行的稳定性,不会产生多线程冲突。
弊:遇到耗时任务容易造成堵塞,影响后续代码的执行。