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

参考

相关推荐
ch_atu1 天前
使用python下载modelscope上的模型
开发语言·python
Albart5751 天前
Python爬虫请求头伪装后仍被反爬,基于代理池+随机延迟的绕过实战
开发语言·爬虫·python
Promise微笑1 天前
回路电阻测试仪采购:多维度技术评估与深度避坑指南
开发语言·matlab·语音识别
從南走到北1 天前
JAVA无人共享系统无人场馆预约篮球系统源码支持小程序+公众号+APP+H5
java·开发语言·小程序
码智社1 天前
Maven 零基础完整教程
java·开发语言·maven
半夜修仙1 天前
Spring集成邮箱功能
java·开发语言·spring boot·spring·rabbitmq·github·maven
码农学院1 天前
电子产品企业泉州网络推广如何精准触达目标采购商
开发语言·php
qq_33776320191 天前
国际期货资管系统开发方案|内外盘交易平台源码授权与二次开发支持
java·c语言·开发语言·c++·c#
不定积分要+C_yyy1 天前
Java关键字final三种用法、核心特性与高频易错点
java·开发语言
xexpertS1 天前
队列积压治理:如何避免异步系统出现难以恢复的消息积压
java·开发语言