HTML5多线程之-- SharedWorker

本文介绍了HTML5的SharedWorker特性,用于降低资源消耗,实现多个浏览上下文间的共享。SharedWorker从概念上解释了其不同于专用Worker的特点,并通过SharedWorker.js、multiply.html和square.html的示例展示如何创建和使用共享进程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用如下这种URL的方式创建的 worker 称为专用 Worker(Dedicate Worker)。

new worker("url");

而共享Workers(SharedWorker)的目的,是希望通过防止重复专用 Worker 来降低系统的资源使用。

有点类似于抽取共通方法的思想。

SharedWorker 接口代表一种特定类型的 worker,可以从几个浏览上下文中访问,例如几个窗口1、iframe 或其他 worker。它们实现一个不同于普通 worker 的接口,具有不同的全局作用域, SharedWorkerGlobalScope 。

通过 new SharedWorker() 方法来创建一个共享进程对象。

var myWorker = new SharedWorker("worker.js");

具体实例如下:

SharedWorker.js
onconnect = function (e) {
   
	var port = e.ports[0];

	/*
	//如果已经用 onmessage 监听了 onmessage 事件,则会自动启动端口:
	port.onmessage = function (e) {
		var workerResult = 'Result: ' + (e.data[0] * e.data[1]);
		port.postMessage(workerResult);
	};*/

	port.addEventListener('message'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值