gpt4 book ai didi

singleton - 如何在两个窗口之间共享单例类的实例

转载 作者:行者123 更新时间:2023-12-03 12:29:02 32 4
gpt4 key购买 nike

我正在使用小型 Electron 应用程序,所以我想问一个小问题。

我需要在应用程序的两个不同窗口之间共享一个单例类实例。
“共享”是指每个类均相同且实例变量相同的实例。

我在BrowserWindow()构造函数中使用了亲和力参数,以在同一渲染器进程中运行两个窗口。我想如果两个窗口在同一进程中运行,则两个窗口共享该实例。但是实际上,实例和实例的值是不同的。

这是正确的行为吗?
1.如果是这样,您能告诉我另一种在两个窗口之间共享实例的方法吗?
2.如果不是,这是一个错误吗?还是我需要设置另一个参数?

最佳答案

亲和力选项将控件公开给chromimum的过程模型(https://github.com/electron/electron/issues/11484/https://www.chromium.org/developers/design-documents/process-models),而Chrome的过程模型都不允许在两者之间共享托管页面的上下文。在单个进程中运行两个站点并不一定意味着两个托管站点共享上下文,尤其是它暴露了整个安全问题。

Electron 中没有这样的东西,至少是通过 Electron 支撑的api表面以开箱即用的方式支撑的。尽管不是真正的共享,但通过ipc进行同步几乎是唯一的方法。

关于singleton - 如何在两个窗口之间共享单例类的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51007585/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com