首页 > 解决方案 > 如何在辅助进程中使用 Electron 遥控器?

问题描述

我阅读了很多关于 Electron 中的主/渲染器进程的信息,对我来说,它们似乎都不适合我的繁重 I/O 任务,所以我正在考虑使用一个额外的进程。在阅读了这篇过时的媒体博客Deep Dive into Electron 的主要和渲染器进程后,我得到了这种感觉,其中指出:

那么我在哪里做 CPU 密集型工作呢?

我曾经认为主进程是“繁重”的理想场所,因为它不会阻塞 UI。这实际上是错误的——如果你在主进程中执行 CPU 密集型工作,它会锁定你所有的渲染器进程(并给你在 macOS 上臭名昭著的沙滩球)。因此 CPU 密集型任务应该在 单独的进程中运行

不幸的是,它是从 2016 年开始的,API 略有变化。不幸的是,我找不到任何更新的示例。我当然找到了require("electron").remote,但我错过了一些如何产生额外进程的例子。有人有我可以查找的关键字吗?

我使用Electron 9.1.0Node 12.8.0. LTS

标签: node.jselectron

解决方案


首先,我们需要区分CPU 密集型任务和I/O 繁重任务;充分利用本机异步机制 JavaScript 在处理繁重的 I/O任务时应该不会有问题。

完全不同的故事是当我们谈论CPU 密集型任务时,这些任务存在您引用的博客中所说的问题。

要处理CPU 密集型任务,您可以找到有用的Workers(或 Node.js 实现:工作线程


推荐阅读