IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 2022.3.2 什么是长任务(时间切片,Web Worker ) -> 正文阅读

[JavaScript知识库]2022.3.2 什么是长任务(时间切片,Web Worker )

长任务:

提示:理解长任务
浏览器执行耗时操作超过50ms就是长任务

JavaScript 单线程

同步任务:同步任务指的是,在主线程上排队执行的任务,只有前一个任务执行完毕,才能执行后一个任务。
异步任务:异步任务指的是,不进入主线程,而进入任务队列的任务,只有“任务队列”通知主线程,某个异步任务可以执行了,该任务才会进入主线程执行。

事件循环

  1. 所有的同步任务都在主线程上执行,形成了一个执行栈。
  2. 主线程外,还存在一个“任务队列”。只要异步任务有了运行结果,就在“任务队列”中放置一个事件
  3. 一旦执行栈中的所有同步任务执行完毕,系统就会读取“任务队列”,看看里面有哪些事件,哪些对应的异步任务,于是结束等待状态,进入执行栈,开始执行
  4. 主线程不断重复上面的第三步、这个过程就是事件循环

异步任务又分为宏任务、微任务

懒得写-------


出现长任务的原因:

例如: 要执行一个运算量很大的函数,他要加载一个 loading,页面中也不会立刻出现 loading 动画,出现动画的时候是运算函数执行完毕之后。

解决方案:

  1. 通过 Web Worker 开辟一个新线程,在 Web Worker 中执行耗时操作 需要请点击最详情
  2. 时间切片,将耗时操作分批次处理 需要请点击查看最详情

Web Worker:

核心思想:可以将一些耗时的数据处理操作从主线程中剥离,使主线程更加专注于页面渲染和交互 Worker 线程和主线程都通过 postMessage() 方法发送消息,通过 onmessage 事件接收消息。在这个过程中数据并不是被共享的,而是被复制的
  • 懒加载
  • 处理页面有计算密集型的任务
  • 文本分析
  • 流媒体数据处理
  • canvas 图形绘制
  • 图像处理
需要注意的点
  • 有同源限制
  • 无法访问 DOM 节点
  • 运行在另一个上下文中,无法使用Window对象
  • Web Worker 的运行不会影响主线程,但与主线程交互时仍受到主线程单线程的瓶颈制约。换言之,如果 Worker 线程频繁与主线程进行交互,主线程由于需要处理交互,仍有可能使页面发生阻塞
  • 共享线程可以被多个浏览上下文(Browsing context)调用,但所有这些浏览上下文必须同源(相同的协议,主机和端口号)
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-03-04 15:27:11  更:2022-03-04 15:30:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:08:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码