一 介绍
HTML5 Web Workers
web worker是运行在后台的JavaScript,不会影响页面的性能。
什么是 Web Worker
当在HTML页面中执行脚本时,页面的状态是不可响应的,直到脚本已完成。
web worker是运行在后台的JavaScript,独立于其他脚本,不会影响页面的性能。
您可以继续做任何愿意做的事情:点击、选取内容等等,而此时web worker在后台运行。
二 应用
利用Web Worker计算质数。
三 代码
1、JS代码
var n = 1; search: while (n < 99999) { // 开始搜寻下一个质数 n += 1; for (var i = 2; i <= Math.sqrt(n); i++) { // 如果除以n的余数为0,开始判断下一个数字。 if (n % i == 0) { continue search; } } // 发现质数 postMessage(n); }
2、HTML代码
<!DOCTYPE html> <html> <head> <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" /> <meta http-equiv="Content-Type" content="text/html; charset=GBK" /> <title> 计算质数 </title> </head> <body> <p>已经发现的所有质数:<div id="result"></div></p> <script> // 使用Worker启动多线程来计算、收集质数 var worker = new Worker('worker.js'); worker.onmessage = function(event) { document.getElementById('result').innerHTML += event.data + ", "; }; </script> </body> </html>
四 运行结果
相关推荐
如何在 Angular.js 应用程序中使用 Web Worker 的示例。 运行一项非常繁重的任务(创建一个包含 100.000.000 个数字的数组,然后遍历所有数字并选择十个最小的数字,然后将它们列出)。 GUI 显示带有两个选项的按钮...
使用这个API用户可以非常容易的创建在后台运行的线程,要创建后台程序很简单: 复制代码代码如下:var worker = new Worker(‘*.js’);注意:后台线程是不能访问页面或者窗口对象的可以通过发送消息和接受消息与后台...
neo.mjs使您可以使用多个CPU来创建可扩展且高性能的应用程序,而无需自己进行工作人员设置或跨渠道通信。 内容 (概念和设计目标的简要概述) 赞助商 青铜赞助商 可扩展的前端架构 多浏览器窗口COVID19 IN ...
wasm-mt帮助您创建和执行基于Web Worker的线程。 您可以简单地使用Rust闭包对线程进行编程,并使用async/await对其进行编排。例子wasm-mt-pool wasm-mt基于wasm-mt线程池库。 [| ] 您可以在浏览器中运行以下所有...
Yew是一个现代的Rust框架,用于使用WebAssembly创建多线程前端Web应用程序。 具有用于声明带有Rust表达式的交互式HTML的宏。 拥有在React中使用JSX的经验的开发人员在使用Yew时应该会感到宾至如归。 通过最小化每...
您可以在Web Worker中...因为它使您可以创建具有丰富查询功能的Web应用程序,而不管网络是否可用,因此您的应用程序可以在线和离线使用。” Web通知允许您向用户发送弹出式通知,即使他们没有打开您的网站。 让您发出
18.1 使用Worker创建多线程 589 18.2 与Worker线程进行数据交换 591 18.3 Worker线程嵌套 594 18.4 使用SharedWorker创建共享线程 597 18.5 Promise 603 18.6 本章小结 611 第19章 客户端通信 612 19.1 跨...
Service Worker兼容性:Service Worker是渐进式web应用(pwa)的核心技术。注册之后,可以独立于浏览器在后台运行控制我们的一个或者多个页面如果我们的页面在多个窗口中打开,Service Worker不会重复创建就算浏览器...
8.3.2 在工作(worker)线程中使用Toast 265 8.4 Notification简介 266 8.4.1 Notification Manager简介 267 8.4.2 创建Notification 267 8.4.3 触发Notification 268 8.4.4 向Earthquake Monitor中添加...
渐进式Web App难以编码和调试:它们的API使用多线程和websocket。 开源社区中有一些选项可以提供帮助,例如Google的sw-precache ,但它们会产生难以理解和修改的代码。 在软件工程中,简单性非常重要。 该项目的...
教学录像:22分钟 ... 1.3.2 文件开始标签<... 7 1.3.3 文件头部标签<... 1.4.3 使用可视化软件制作页面 10 1.4.4 使用浏览器浏览HTML文件 14 1.4.5 使用HTML开发的明日图书网 14 ... 15.4.1 使用effectAllowed...
除非几乎已满与Node.js和启用SharedArrayBuffer的浏览器兼容介绍由于它作为一种简单的Web页面粘合剂,因此JS在过去几十年创建的所有语言中,对多线程的支持可能是绝对最差的。 随着语言的成熟,在出色实现的引擎(V8...
Stockfish.js 是国际象棋引擎的 WASM 实现。 Stockfish.js 目前已更新至 Stockfish 12。 NOTE: Stockfish.js 12 is not backward-... 在 web 浏览器中,Stockfish.js 可以在 web-worker 中运行,它可以像这样创建:
在使用该库之前,请确保对应用程序的内存使用情况和其他资源进行基准测试! 替代解决方案包括使用runAfterInteractions或 ,我建议您在使用此库之前对它们进行彻底研究。 入门 $ npm install react-native-threads ...
6.1. 使用net/http创建简单的web server 140 6.2. 读写JSON 144 6.2.1. Marshal go结构到JSON 144 6.2.2. Unmarshalling JSON 到Go结构 146 7. 方法 146 7.1. 什么是方法? 146 7.2. 方法示例 146 7.3. 函数...
A 新增 多线程 worker 支持单步调试 A 新增 公众号网页调试中新增 url 收藏夹 A 新增 wx.compressImage 调试 A 新增 小游戏关系链互动数据开发支持 A 新增 支持小游戏 JSServer A 新增 小游戏节点审查插件 A ...