浏览器 worker
- Dedicated Worker:专用的 worker,只能被创建它的 JS 访问,创建它的页面关闭,它的生命周期就结束了。
- Shared Worker:共享的 worker,可以被同一域名下的 JS 访问,关联的页面都关闭时,它的生命周期就结束了。
- ServiceWorker:是事件驱动的 worker,生命周期与页面无关,关联页面未关闭时,它也可以退出,没有关联页面时,它也可以启动,
这三者有什么区别呢?众所周知,JShted 的执行线程,同一时刻内只会有一段代码在执行。Web worker 目的是为 JS 是单线程的,即一个浏览器进程中只有一个 JS 创造多线程环境,允许主线程将一些任务分配给子线程。Web Worker 一般是用于在后台执行一些耗时较长的 JS,避免影响 UI 线程的响应速度。
Dedicated worker 或 shared worker 最主要的能力,一是后台运行 JS,不影响 UI 线程,二是使用消息机制实现并行,可以监听 onmessage 事件。所以 dedicated worker 和 shared worker 专注于解决“耗时的 JS 执行影响 UI 响应”的问题,而 service worker 则是为解决“Web App 的用户体验不如 Native App”的普遍问题而提供的一系列技术集合,必然部分处理逻辑会牵扯到 UI 线程,从而在启动 service worker 的时候,UI 线程的繁忙也会影响其启动性能。
原文:UC 内核发布
浏览器 worker的更多相关文章
- 浏览器缓存和Service Worker
浏览器缓存和Service Worker @billshooting 2018-05-06 字数 6175 Follow me on Github 标签: BOM 1. 传统的HTTP浏览器缓存策略 ...
- JavaScript多线程之HTML5 Web Worker
在博主的前些文章Promise的前世今生和妙用技巧和JavaScript单线程和浏览器事件循环简述中都曾提到了HTML5 Web Worker这一个概念.在JavaScript单线程和浏览器事件循环简 ...
- JavaScript单线程和浏览器事件循环简述
JavaScript单线程 在上篇博客<Promise的前世今生和妙用技巧>的开篇中,我们曾简述了JavaScript的单线程机制和浏览器的事件模型.应很多网友的回复,在这篇文章中将继续展 ...
- HTML5_06之拖放API、Worker线程、Storage存储
1.拖放API中源对象与目标对象事件间的数据传递: ①创建全局变量--污染全局对象: var 全局变量=null; src.ondragstart=function(){ 全局变量=数据值; ...
- Web Worker javascript多线程编程(一)
什么是Web Worker? web worker 是运行在后台的 JavaScript,不占用浏览器自身线程,独立于其他脚本,可以提高应用的总体性能,并且提升用户体验. 一般来说Javascript ...
- html5 Worker学习
HTML: <!DOCTYPE HTML> <html> <head> <meta charset="utf-8" /> <t ...
- HTML5:web socket 和 web worker
a:hover { cursor: pointer } 做练习遇到了一个选择题,是关于web worker的,问web worker会不会影响页面性能?补习功课之后,答案是不会影响. 查阅了相关资料学 ...
- HTML5 十大新特性(八)——Web Worker
由于js是单线程的,所以H5添加了这个叫做webWorker的概念,允许js创建多个线程,但是子线程完全受主线程控制,且不能操作DOM,从而来处理一些比较耗时的操作. 那么如何创建一个子线程呢?通过这 ...
- using border-radius to make a worker
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...
随机推荐
- 父div高度不能自适应子div高度的解决方案
<div id="parent"><div id="content"> </div></div> 当conten ...
- Unity3D的Time.timeScale
(1)Time.timeScale = 0可以暂停游戏,Time.timeScale = 1恢复正常,但这是作用于整个游戏的设置,不单单是当前场景,记得在需要的时候重置回Time.timeScale ...
- CSS样式中” 大于号”
CSS样式中” 大于号” 在一段CSS代码中见到一个大于号(>),代码如下: BODY#css-zen-garden > DIV#extraDiv2 { BACKGROUND-IMAGE: ...
- linux 数据盘和系统盘的查看
系统盘就像linux的c盘,使用df -l命令查看 如下所示: 可以看到根路径 / 都是位于系统盘.而/root,/home,/usr就如同c盘下的c:\windows,c:\usr这些目录 如果单独 ...
- [extjs] ExtJS 4.2 开发环境搭建
到官网下载Extjs ,现在最新版的是Ext5.1. 这里用ext4.2演示开发.http://extjs.org.cn/. EXT4.1 在线API 项目结构中ext4.2导入的资源文件: 第一个页 ...
- 第五章 面向方面编程___AOP入门
上一篇讲了 AOP 和 OOP 的区别,这一次我们开始入门 AOP .实现面向方面编程的技术,主要分为两大类: 一是 采用动态代理技术,利用截取消息的方式,对该消息进行装饰,以取代原有对象行为的执行: ...
- Java程序员面试技巧
Java 程序员面试技巧 对于每一个求职者,有一份优秀的简历是很必要的,企业通过简历的筛选,会给予求职者面试的机会.然而,很多求职者就是在面试过程中与钟情的工作失之交臂.如何在面试中取得成功呢?“细节 ...
- Android开发相关
在用红米4X进行真机调试的时候,出现此问题,问题描述如下: DELETE_FAILED_INTERNAL_ERROR Error while Installing APK 一直调试不成功,百度了下,因 ...
- Html解析
相关解析组件: HtmlAgilityPack CsQuery Winista.Text.HtmlParser
- RecyclerView的通用适配器,和滚动时不加载图片的封装
对于RecyclerView我们需要使用RecyclerAdapter,使用方式与ListViewAdapter类似,具体代码大家可以在网上搜索,这里就只教大家使用封装后的简洁RecyclerAdap ...