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事件循环处理异步操作。

参考

相关推荐
在角落发呆几秒前
DTU 数据转发服务器:工业物联网的隐形桥梁
开发语言·php
Sakuyu434684 分钟前
C语言基础--基本数据类型
c语言·开发语言
在坚持一下我可没意见6 分钟前
Python 修仙修炼录 05:循环神通,省去无用苦修
开发语言·python·面试·入门·循环·复习
techdashen24 分钟前
Rust 社区在 4 月做了什么:项目管理月报解读
开发语言·rust·mfc
十五年专注C++开发25 分钟前
QFluentKit: 一个基于 Qt Widgets 的 Fluent Design 风格 UI 组件库
开发语言·c++·qt·ui·qfluentkit
咪饭只吃一小碗26 分钟前
从变量提升到 V8 预编译,彻底搞懂 JS 执行机制
javascript
lly20240626 分钟前
PHP JSON 使用指南
开发语言
农夫三拳有点疼=-=26 分钟前
vue3实现输入框标签和文本交互
javascript·vue.js·交互
沐知全栈开发31 分钟前
jQuery 尺寸
开发语言