js为什么是单线程?

基础

js为什么是单线程?

多线程问题

类比操作系统,多线程问题有:

  • 单一资源多线程抢占,引起死锁问题;
  • 线程间同步数据问题;

总结

  1. 为了简单:
    • 更简单的dom渲染。js可以操控dom,而一般来说一个网页一份dom文件,多线程操作dom如果多线程修改dom便容易出现各种问题(例如A线程删除一个dom,而B线程在修改此dom容易报错)。
    • 但是目前浏览器,可以支持js多线程运行,Worker可以支持js创建新线程运行js文件,但是Worker Api中没有document元素,BOM对象只有navigation,location可用。
  2. 提高性能。
  3. 基于单线程,可以利用js事件循环处理异步操作。

参考

相关推荐
可靠的仙人掌15 小时前
SAC(Soft Actor-Critic)算法底座
开发语言·算法·php
学逆向的15 小时前
汇编——数据存储模式
开发语言·汇编·网络安全
geovindu15 小时前
CSharp: Prototype Pattern
开发语言·后端·设计模式·.net·原型模式·创建型模式
天天进步201516 小时前
Python全栈项目--校园食堂点餐与推荐系统
开发语言·python
aaPIXa62216 小时前
C++模板元编程:编译期计算Fibonacci数列
java·开发语言·c++
eybk16 小时前
写一个可以编制pdf文件的python程序
开发语言·python·pdf
cui_ruicheng16 小时前
Python从入门到实战(八):封装、多态与抽象类
开发语言·python
apihz16 小时前
台风实时与历史详情查询免费 API 接口完整教程
android·开发语言·tcp/ip·dubbo·台风·天气预报
知无不研17 小时前
c语言和c++中的静态关键字
开发语言·c++·静态关键字
bksczm17 小时前
Linux之信号量(POSIX标准)
java·开发语言