javascript语言不支持多线程,因为浏览器中的javascript解释器是单线程。javascript最初被设计用在浏览器中,它的主要用途是与用户互动,以及操作dom,这决定了它只能是单线程,否则会带来很复杂的同步问题。
本教程操作环境:windows7系统、ecmascript 5版、dell g3电脑。
javascript语言不支持多线程,因为浏览器中的javascript解释器是单线程。
javascript的单线程,与它的用途有关。javascript最初被设计用在浏览器中,作为浏览器脚本语言,javascript的主要用途是与用户互动,以及操作dom,这决定了它只能是单线程,否则会带来很复杂的同步问题。
比如,假定javascript同时有两个线程,一个线程在某个dom节点上添加内容,另一个线程删除了这个节点,这时浏览器应该以哪个线程为准?
所以为了避免复杂性,javascript从诞生起就是单线程,这已经成了这门语言的核心特征,将来也不会改变。
为了利用多核cpu的计算能力,html5提出web worker标准,允许javascript脚本创建多个线程,但是子线程完
全受主线程控制,且不得操作dom。所以,这个新标准并没有改变javascript单线程的本质。
推荐学习:js基础教程
以上就是javascript语言支不支持多线程的详细内容。