javascript是单进程。作为浏览器脚本语言,JavaScript的主要用途是与用户互动,以及操作DOM,这决定了它只能是单线程的,否则会带来很多复杂的同步问题。 本文操作环境:windows10系统、
javascript是单进程。作为浏览器脚本语言,JavaScript的主要用途是与用户互动,以及操作DOM,这决定了它只能是单线程的,否则会带来很多复杂的同步问题。
本文操作环境:windows10系统、javascript 1.8.5、thinkpad t480电脑。
JavaScript是单线程,这是它的一大特点。也就是说,JavaScript在同一时间只能做一件事。
作为浏览器脚本语言,JavaScript的主要用途是与用户互动,以及操作DOM,这决定了它只能是单线程,否则会带来很复杂的同步问题。比如,假定JavaScript同时有两个线程,一个线程在某个DOM节点上添加内容,另一个线程删除了这个节点,这时浏览器应该以哪个线程为准?
为了利用多核CPU的计算能力,HTML5提出Web Worker标准,允许JavaScript脚本创建多个线程,但是子线程完全受主线程控制,且不得操作DOM。所以,这个新标准并没有改变JavaScript单线程的本质。
推荐学习:javascript视频教程