【发布时间】:2019-01-03 17:29:04
【问题描述】:
我正在开发一个电子应用程序,由于主进程访问从 Golang 应用程序创建的 Dll 中的操作(使用 node-ffi),我遇到了渲染器进程阻塞的问题。 这些 DLL 方法是按顺序调用的,必须执行 DLL 的某些方法才能使其他方法起作用。
为了使在主进程中调用的这些执行不会阻塞渲染器,我使用了“electron-remote”(https://www.npmjs.com/package/electron-remote),它可以创建单独的进程(使用 requireTaskPool)。因此,在主进程中,我从 DLL 实例化 node-ffi 对象并从 ffi 对象执行某些方法。
但是在使用电子远程任务池创建的新进程中,DLL'd ffi 是一个新实例。此外,如果我们将 DLL 对象作为参数传递给使用电子远程创建的新进程,我们将得到一个空 DLL(没有对象属性)。
我是 nodejs 中并发处理的新手。有什么方法可以在使用子进程或电子远程分叉的其他进程中使用电子应用程序的主进程中从 dll 创建的 ffi 对象的相同实例?
【问题讨论】:
标签: node.js multithreading electron child-process node-ffi