HTML5中SharedWorker生命周期与浏览器进程关闭的关系

SharedWorker 生命周期独立于单页但依赖浏览器进程,关闭浏览器即终止;其存活由引用计数管理,所有关联页面关闭后几秒内自动销毁,无持久化或跨会话能力。SharedWorker 的生命周期独立于单个页面,但依赖浏览器进程的存在;一旦浏览器进程关闭(如整个浏览器退出),SharedWorker 会立即终止,无法持久化或跨会话存活。SharedWorker 的启动与存活条件SharedWorker 只在首次被 new SharedWorker() 调用时创建,之后同一源(origin)下的其他页面可通过相同 URL 复用它。它的生命周期由"引用计数"机制管理:只要至少有一个页面(tab 或 iframe)保持对它的有效引用(即未调用 port.close() 且页面未卸载),SharedWorker 就持续运行; 所有关联页面全部关闭(包括后台页、静默标签),且无活跃端口通信时,浏览器通常会在几秒内销毁该 SharedWorker; 这个过程是自动的,开发者无法手动"保持唤醒"或延长其存活时间。浏览器进程关闭时的行为SharedWorker 运行在浏览器为该源单独分配的共享工作线程进程中(非渲染进程,也非主线程),但它仍隶属于浏览器主进程的资源调度体系:当用户完全退出浏览器(如关闭 Chrome 所有窗口、macOS 上 Quit Chrome、Windows 上结束 chrome.exe 进程),SharedWorker 所在的 worker 进程会被强制终止; 没有 onbeforeunload 或 terminate 钩子可供 SharedWorker 捕获进程关闭事件; 任何未持久化的内存状态(如全局变量、Map 缓存)将直接丢失,无法触发清理逻辑。与普通 Worker 和 Service Worker 的关键区别SharedWorker 不具备跨进程/跨会话能力,这点常被误判: 通义听悟 阿里云通义听悟是聚焦音视频内容的工作学习AI助手,依托大模型,帮助用户记录、整理和分析音视频内容,体验用大模型做音视频笔记、整理会议记录。

相关推荐
hboot1 小时前
AI工程师第三课 - 机器学习基础
python·scikit-learn·kaggle
顾林海6 小时前
Agent入门阶段-编程基础-Python:流程控制
python·agent·ai编程
呱呱复呱呱8 小时前
Django CBV 源码解读:一个请求是怎么找到你的 get() 方法的
python·django
Nturmoils9 小时前
订单列表慢查询,先看 WHERE、ORDER BY 和 LIMIT
数据库
曲幽13 小时前
刚部署的 LibreTranslate 频频翻车?我掏出了 20 年前的 StarDict 词典,用 FastAPI 搭了个本地词典翻译 API
python·fastapi·web·translate·goldendict·libretranslate·stardict·pystardict
渣波13 小时前
拒绝 SQL 焦虑!手把手带你用 NestJS + Prisma + DTO 写出“防弹”级后端代码
javascript·数据库·后端
荣码13 小时前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
兵慌码乱1 天前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理
金銀銅鐵1 天前
[Python] 体验用欧几里得算法计算最大公约数的过程
python·数学
FreakStudio1 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机