Electron参考手册
指南 | Guides
多线程 | Multithreading
借助Web Workers,可以在OS级别的线程中运行JavaScript。
多线程Node.js
可以在Electron的Web Workers中使用Node.js功能,为此nodeIntegrationInWorker应该将该选项设置为truein webPreferences。
let win = new BrowserWindow({
  webPreferences: {
    nodeIntegrationInWorker: true
  }
})该nodeIntegrationInWorker可独立运作的nodeIntegration,但sandbox不能设置为true。
可用的API
Web Workers支持Node.js的所有内置模块,并且asar仍可以使用Node.js API读取档案。但是,Electron的内置模块在多线程环境下不能使用。
本机Node.js模块
任何本地Node.js模块都可以直接加载到Web Workers中,但强烈建议不要这样做。大多数现有的本地模块都是在假设单线程环境下编写的,在Web Workers中使用它们会导致崩溃和内存损坏。
请注意,即使本机Node.js模块是线程安全的,但将它加载到Web Worker中仍然不安全,因为该process.dlopen函数不是线程安全的。
现在安全加载本地模块的唯一方法是确保应用程序在Web Workers启动后加载本地模块。
process.dlopen = () => {
  throw new Error('Load native module is not safe')
}
let worker = new Worker('script.js')指南 | Guides相关
 
                                Electron 是一个使用 JavaScript, HTML 和 CSS 等 Web 技术创建原生程序的框架,它负责比较难搞的部分,你只需把精力放在你的应用的核心上即可。
| 主页 | https://electron.atom.io/ | 
| 源码 | https://github.com/electron/electron | 
| 发布版本 | 1.7.9 | 
 
         加载中,请稍侯......
 加载中,请稍侯......