Web Workers API

2023-11-02

Web Workers API

一个worker是使用一个构造函数创建的一个对象(e.g. Worker()) 运行一个命名的JavaScript文件 – 这个文件包含将在工作线程中运行的代码; workers 运行在另一个全局上下文中,不同于当前的window. 因此,在 Worker 内通过 window获取全局作用域 (而不是self) 将返回错误

在专用workers的情况下,DedicatedWorkerGlobalScope 对象代表了worker的上下文(专用workers是指标准worker仅在单一脚本中被使用;共享worker的上下文是SharedWorkerGlobalScope对象)。一个专用worker仅仅能被首次生成它的脚本使用,而共享worker可以同时被多个脚本使用

注意

  1. 在worker内,不能直接操作DOM节点,也不能使用window对象的默认方法和属性。然而你可以使用大量window对象之下的东西,包括WebSockets,IndexedDB以及FireFox OS专用的Data Store API等数据存储机制
  2. 只要运行在同源的父页面中,workers可以依次生成新的workers;并且可以使用XMLHttpRequest 进行网络I/O,但是XMLHttpRequest的responseXML和channel属性总会返回null
  3. workers和主线程间的数据传递通过这样的消息机制进行——双方都使用postMessage()方法发送各自的消息,使用onmessage事件处理函数来响应消息(消息被包含在Message事件的data属性中)。这个过程中数据并不是被共享而是被复制。
  4. 在框架中运行时需要解析Workers.js文件
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Web Workers API 的相关文章

随机推荐

  • 【Python】 numpy数组操作

    数据类型转换 frame gt ndarray 函数 table name np array frame name import numpy as np data array np array data print type data ar
  • API测试方案

    接口测试方案 目录 一 简介 一 定义 二 为什么做接口测试 1 越底层发现bug 修复成本越低 越早发现bug 修复成本越低 2 前后端按约定的接口开发 接口测好了 前端随便改 后端不用变 3 如今的系统复杂度不断上升 传统的测试方法成本
  • Ubuntu 指定文件默认打开方式(以QT Creator为例)

    Ubuntu 14 04 32位系统 想用QT Creator做Ubuntu下的代码编辑器 以前安装的QT4 8 6自带QT Creator 2 4 1版本太老 现在的QT Creator在Linux下已经都是64位版本了 官方最后的Lin
  • Python装饰器学习

    第一步 最简单的函数 准备附加额外功能 1 2 3 4 5 6 7 8 coding gbk 示例1 最简单的函数 表示调用了两次 def myfunc print myfunc called myfunc myfunc 第二步 使用装饰函
  • 运行项目报错Unable to build: the file dx.jar was not loaded from the SDK folder!

    在Eclipse中运行项目时 报题目中的错误 出现该问题的原因是高版本 如26 0 0 的build tools中的dx jar不可用 可能是兼容问题 因此问题的解决方法有两种 使用低版本 如25 0 2 build tools中的dx j
  • Vivado的FIR IP核实现低通滤波器

    本文介绍如何使用Vivado的FIR IP核实现低通滤波器 我们将设计一个采样频率为10MHz 通带0 1MHz 阻带高于2MHz的FIR低通滤波器 测试时 滤波器的输入信号为1MHz和3MHz的正弦波的叠加信号 期望滤波器能输出失真较小的
  • 高德地图显示影藏交通图层

    效果如图 核心代码 this traffic new AMap TileLayer Traffic autoRefresh true 是否自动刷新 默认为false interval 180 刷新间隔 默认180s zIndex 10 zo
  • 数字IC手撕代码-泰凌微笔试真题

    前言 本专栏旨在记录高频笔面试手撕代码题 以备数字前端秋招 本专栏所有文章提供原理分析 代码及波形 所有代码均经过本人验证 目录如下 1 数字IC手撕代码 分频器 任意偶数分频 2 数字IC手撕代码 分频器 任意奇数分频 3 数字IC手撕代
  • bes2300开发调试笔记

    记录学习过程以及遇到的问题 持续看心情更新 bes2300之环境搭建 一 bes2300之按键配置 二 bes2300之led配置 三 bes2300之prompt配置 四 bes2300之RTX介绍及简单运用 五 bes2300之电源管理
  • 前端性能优化《一》:vue-cli3中使用external进行cdn配置

    目录 一 背景 二 作用 三 基本用法 第一步 vue config js中配置externals 第二步 html中引入静态资源 配置完成 四 区分生产环境和开发环境 第一步 vue config js中配置externals 第二步 h
  • kong插件在请求时添加允许跨域请求头

    需求 需要在Kong上设置对websocket允许跨域 类似nginx上实现的效果 add header Access Control Allow Origin add header Access Control Allow Headers
  • 软件测试/测试开发丨Web自动化—capability参数配置 学习笔记

    点此获取更多相关资料 本文为霍格沃兹测试开发学社学员学习笔记分享 原文链接 https ceshiren com t topic 27336 一 capability概述 capability是webdriver支持的标准命令之外的扩展命令
  • 【使用 BERT 的问答系统】第 7 章 :BERT 模型的未来

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • TypeScript 快速上手学习系列 ——基础知识

    特性 JavaScript 与 TypeScript 的区别 TypeScript 是 JavaScript 的超集 扩展了 JavaScript 的语法 主要提供了类型系统和对ES6的支持 现有的 JavaScript 代码可与 Type
  • figma的一些用法(二)

    窗体切换动画设置 效果
  • grep 常用选项与参数整理

    grep大有学问 大有用处啊 平常只用到了它的20 的功能 整理总结一下 1 grep基本用法 grep acinv color auto A n B n C n 搜寻字符串 文件名 2 常用参数 l 查询多文件时只输出包含匹配字符的文件名
  • org.springframework.http.converter.HttpMessageNotWritableException: No converter for ‘xxx‘ with

    报错代码 o s w s m s DefaultHandlerExceptionResolver Failure while trying to resolve exception org springframework http conv
  • idea如何配置数据库驱动,使用jdbc连接mysql8详解

    idea如何配置数据库驱动 使用jdbc连接mysql8 1 打开maven仓库 https mvnrepository com 2 输入mysql 点击mysql connector java 3 点击它 也可以选 8 0的其他版本 4
  • java的excel导入_Java操作Excel文件导入

    可以支持公式 日期等格式 不说废话 上代码 Jun 25 2012 import java io File import java io FileInputStream import java io IOException import j
  • Web Workers API

    Web Workers API 一个worker是使用一个构造函数创建的一个对象 e g Worker 运行一个命名的JavaScript文件 这个文件包含将在工作线程中运行的代码 workers 运行在另一个全局上下文中 不同于当前的wi