SOL
FIND
Web Lens
Portal home
Home
|
New Lens
|
About
Web address:
多线程 | Electron
https://www.electronjs.org/zh/docs/latest/tutorial/multithreading • 44 KB fetched
Open original page
多线程 | Electron 跳转到主内容 Electron 文档 应用开发接口(API) 博客 工具 * Electron Forge * Electron Fiddle 社区 * 治理 * 案例展示 * 资源 版本发布 中文 * English * Deutsch * Español * Français * 日本語 * Português * Русский * 中文 搜索 * 开始上手 * Electron 中的流程 * 最佳实践 * 示例 * Dark Mode * 设备访问 * 应用程序内购 * * 键盘快捷键 * 深度链接 (Deep Links) * 桌面启动器快捷操作 * * Menus * 多线程 * 原生文件拖 & 放 * 导航历史 * 通知(Notifications) * 离屏渲染 * 在线/离线事件探测 * 进度条 * 最近的文件 * * * 在 BrowserWindow 中展示文件 * * 拼写检查器 * Web 嵌入 * 任务栏自定义 * * 自定义窗口 * 开发 * Native Node Modules * 分发 * 检测和调试 * 引用 * 参与贡献 * * 示例 * 多线程 在本页面 多线程 通过 Web Workers ,可以实现用操作系统级别的线程来跑JavaScript 多线程的Node.js 可以在Electron的Web Workers里使用Node.js的特性。要用的话,需把 webPreferences 中的 nodeIntegrationInWorker 选项设置为 true const win = new BrowserWindow ( { webPreferences : { nodeIntegrationInWorker : true } } ) nodeIntegrationInWorker 可以独立于 nodeIntegration 使用,但 sandbox 必须不能设置为 true note 由于与沙盒策略不兼容,该选项在 SharedWorker 或 Service Worker 中并不可用。 可用的API Web Workers支持Node.js的所有内置模块,而且 asar 档案也仍通过Node.js的API来读取。 不过所有的Electron内置模块不可以用在多线程环境中。 原生Node.js模块 在Web Workers里可以直接加载任何原生Node.js模块,但不推荐这样做。 大多数现存的原生模块是在假设单线程环境的情况下编写的,如果把它们用在Web Workers里会导致崩溃和内存损坏。 请注意, 即使原生Node.js模块如果考虑到了线程安全问题, 但在 Web Worker中加载它仍然不安全, 因为 process.dlopen 函数并没有考虑线程安全。 现在安全顺利地加载原生模块的唯一办法,就是确保在Web Workers启动后app不加载原生模块。 process . dlopen = ( ) => { throw new Error ( 'Load native module is not safe' ) } const worker = new Worker ( 'script.js' ) 编辑此页面 上一个 键盘快捷键 下一个 原生文件拖 & 放 * 多线程的Node.js * 可用的API * 原生Node.js模块 文档 * 入门指南 * API 参考 清单 * 性能 * 安全 工具 * Electron Forge * Electron Fiddle 社区 * 治理 * 资源 * Discord * Bluesky * X * Mastodon * Stack Overflow 更多 * GitHub * Open Collective * 基础看板 版权所有 OpenJS Foundation 及 Electron 贡献者。保留所有权利。 OpenJS Foundation 已注册商标并使用商标。如需查看 OpenJS Foundation 的商标列表,请参阅我们的 商标政策 和 商标列表 。未在 OpenJS Foundation 商标列表 中标明的商标和标志,均为其各自持有者的商标™或注册商标®。使用它们并不意味着与它们有任何关联或得到它们的认可。 OpenJS Foundation | 使用条款 | 隐私政策 | 章程 | 行为准则 | 商标政策 | 商标列表 | Cookie 政策 Hosting and infrastructure graciously provided by
Links found on this page
跳转到主内容
[
direct
]
Electron
[
direct
]
文档
[
direct
]
应用开发接口(API)
[
direct
]
博客
[
direct
]
Electron Forge
[
direct
]
Electron Fiddle
[
direct
]
治理
[
direct
]
案例展示
[
direct
]
资源
[
direct
]
版本发布
[
direct
]
English
[
direct
]
Deutsch
[
direct
]
Español
[
direct
]
Français
[
direct
]
日本語
[
direct
]
Português
[
direct
]
Русский
[
direct
]
Electron 中的流程
[
direct
]
最佳实践
[
direct
]
示例
[
direct
]
Dark Mode
[
direct
]
设备访问
[
direct
]
应用程序内购
[
direct
]
键盘快捷键
[
direct
]
深度链接 (Deep Links)
[
direct
]
桌面启动器快捷操作
[
direct
]
Menus
[
direct
]
原生文件拖 & 放
[
direct
]
导航历史
[
direct
]
通知(Notifications)
[
direct
]
离屏渲染
[
direct
]
在线/离线事件探测
[
direct
]
进度条
[
direct
]
最近的文件
[
direct
]
在 BrowserWindow 中展示文件
[
direct
]
拼写检查器
[
direct
]
Web 嵌入
[
direct
]
任务栏自定义
[
direct
]
自定义窗口
[
direct
]
开发
[
direct
]
Native Node Modules
[
direct
]
分发
[
direct
]
检测和调试
[
direct
]
引用
[
direct
]
参与贡献
[
direct
]
Web Workers
[
direct
]
SharedWorker
[
direct
]
Service Worker
[
direct
]
编辑此页面
[
direct
]
安全
[
direct
]
Discord
[
direct
]
Bluesky
[
direct
]
X
[
direct
]
Mastodon
[
direct
]
Stack Overflow
[
direct
]
GitHub
[
direct
]
Open Collective
[
direct
]
基础看板
[
direct
]
OpenJS Foundation
[
direct
]
商标政策
[
direct
]
商标列表
[
direct
]
使用条款
[
direct
]
隐私政策
[
direct
]
章程
[
direct
]
行为准则
[
direct
]
Cookie 政策
[
direct
]
SolFind Lens does not relay logins, forms, files, images, audio, or video.
Portal home
With content from
Curlie.org
- the largest human-edited directory of the web. Contribute by submitting a website or becoming an editor.