单线程的原因:
(1)这主要取决于它的用途,js作为浏览器的脚本语言,主要用途是处理与用户交互和操作dom。这就决定了它只能是单线程。
(2)假定js是多线程,在一个线程上对DOM节点进行修改,另一个线程对该DOM节点进行删除,此时浏览器该以哪个进程为准呢?
(3)于是为了避免这种情况,js从诞生开始就决定了它是一门单线程的语言,这是它的核心特征
单线程的利弊:
利:代码依次执行,确保了事件执行的稳定性,不会产生多线程冲突。
弊:遇到耗时任务容易造成堵塞,影响后续代码的执行。
JavaScript作为一种浏览器脚本语言,因其主要用于处理用户交互和DOM操作而设计为单线程。多线程可能导致DOM操作冲突,故其从一开始就选择了单线程模型。单线程的优势在于代码按序执行,保证了事件执行的稳定性,但同时也存在缺点,即当遇到耗时任务时可能阻塞后续代码的执行,导致页面响应延迟。
单线程的原因:
(1)这主要取决于它的用途,js作为浏览器的脚本语言,主要用途是处理与用户交互和操作dom。这就决定了它只能是单线程。
(2)假定js是多线程,在一个线程上对DOM节点进行修改,另一个线程对该DOM节点进行删除,此时浏览器该以哪个进程为准呢?
(3)于是为了避免这种情况,js从诞生开始就决定了它是一门单线程的语言,这是它的核心特征
单线程的利弊:
利:代码依次执行,确保了事件执行的稳定性,不会产生多线程冲突。
弊:遇到耗时任务容易造成堵塞,影响后续代码的执行。
2585
539

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