众所周知JavaScript是一门单线程的语言,这就意味着在同一时间他只能做一件事;

但是html5中提出了web worker的标准--->允许js创建多个线程,

这是否将改变js的单线程机制?

答案是:不会,js从诞生就是单线程的,我认为以后也将是单线程的。

为啥那么说呢? 因为:HTML5虽然允许js创建线程,但是哪些线程都属于子线程,而且不予许操作DOM,所以实质上还是单线程! 现在唠一下js问什么是单线程的呢?

js是客户端的脚本语言,用途是和用户交互,和操作dom,假设允许创建第二个线程,那么如果两个线程同时添加和删除DOM,浏览器该听谁的?

所以只能是单线程的;

那为啥还要在HTML5中添加web worker要允许js创建一个线程呢?

CPU支持多线程啊!如果不利用起来岂不是很浪费!在这js能做的事情越来越多,如果不做一下改变那不是要慢死。

相关文章:

  • 2022-03-08
  • 2021-05-31
  • 2022-01-14
  • 2021-11-08
  • 2022-12-23
  • 2022-01-01
  • 2022-02-09
  • 2021-07-12
猜你喜欢
  • 2021-06-03
  • 2021-05-13
  • 2022-01-17
  • 2022-12-23
  • 2021-11-20
  • 2021-08-22
  • 2021-06-07
相关资源
相似解决方案