学习
实践
活动
专区
工具
TVP
写文章

Web Workers实践(2)

Web Workers类型有哪些? 专用线程(Dedicated Workers) 由主线程创建,并且只能和主线程通信。相当于每一次创建都是一个新的实例。 共享线程(Shared Workers) 在同一域名下,可以和任何进程通信(不同的Tabs,iFrames等)。 Web Workers可以干什么? JavaScript是异步的单线程,通过时间片轮换模拟并发效果(可参考之前写的《Web Workers实践》)。 通过Workers技术,我们把数据的解压缩和解析的工作交给子线程来处理,减轻主线程的负担。如下,现在我们可以将Update放到Workers线程,主线程专注Render以及和用户的交互。 ? 创建多个Workers后的性能 未测试具体时间,但在真实应用中体验很不错 缺点 Workers下不支持DOM对象,不支持Mutex,并不是一种彻底的多线程方案。

59790
  • 广告
    关闭

    新年·上云精选

    热卖云产品年终特惠,2核2G轻量应用服务器7.33元/月起,更多上云必备产品助力您轻松上云

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    76.精读《谈谈 Web Workers

    1 引言 本周精读的文章是 speedy-introduction-to-web-workers,是一篇 Web Workers 快速入门的文章,借精读这篇文章的机会,谈谈对 Web Workers 的理解与运用 首先在 Web Workers 架构设计上就必须做成队列,因为调用 postMessage 时,对应的 Web Workers 不一定完成了初始化,所以浏览器底层必须管理一个队列,在 Web Workers 如上图所示,对于每次用户输入都要进行的 SQL Parser 很耗时,及时放在 Web Workers 也可能导致将 Workers 撑爆到无响应,这是不仅要使用多 Workers 缓冲池,还要对待执行队列进行过滤 由于 Web Workers 运算被卡住时,除了销毁 Worker 没有别的办法,而销毁 Worker 的成本比较高,不能对每一个用户输入都销毁并新建 Web Workers,所以利用 Workers 4 总结 Web Workers 是拆解异步计算的好帮手,vscode 网页版也通过 Web Workers 异步完成代码提示和高亮,笔者有对比过,发现 Web Workers 性能提升非常明显。

    18030

    异步JS中的Web Workers

    一、了解Web Workers介绍 js 的 Workers 前, 先思考什么是异步javascript? 为什么需要异步javascript的存在? 因此 Workers 是不能访问 DOM(窗口、文档、页面元素等等)的.2、Web Wokers通过使用 Web Workers,Web 应用程序可以在独立于主线程的后台线程中,运行一个脚本操作。 这样做的好处是可以在独立线程中执行费时的处理任务,从而允许主线程(通常是 UI 线程)不会因此被阻塞/放慢[MDN解释].js中的Web Workers有三种类型:Dedicated Workers: 可以在某些特定的情景下控制应用的行为, 如弱网环境下.二、Dedicated Workers通常所说的 Worker 是指Deicated Workers, 其接口是 Web Workers API 的一部分 而 Web Workers 除了上面说的三种类型, 还包括音频 Workers、Chrome Workers 等等, 也都在特定的场景中非常有用.

    19420

    扫码关注腾讯云开发者

    领取腾讯云代金券