问题标签 [object-sharing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
597 浏览

ruby-on-rails - Sinatra/Rails:在应用程序生命周期内保持自定义类实例

我可以断言 rails/sinatra 应用程序只初始化一次并且所有请求共享同一个应用程序实例吗?还是新请求会产生新的应用程序实例?

是否可以在不使用会话、数据库存储或第三方服务的情况下实例化自定义类并在应用程序生命周期内持久化它们?如果是这样,从线程安全的角度来看,这意味着什么?

我试图弄清楚如何实现基于 Web 的下载管理器,并且我目前正在评估基于 ruby​​ 的框架。

0 投票
6 回答
14588 浏览

java - 如何在 java 应用程序之间共享对象?

我一次运行 2 个单独的 Java 应用程序。(两个单独的 javaw.exe) 我需要在它们运行时在它们之间共享一个对象。

在没有任何永久存储的情况下实现这一目标的最简单方法是什么?

0 投票
2 回答
675 浏览

c# - 从另一个线程填充的对象读取数据

语言:c# (wpf)

情况:我必须从文件中加载 3D 网格,然后填充 Viewport3D。

我想做什么:我想在 BackgroundWorker 中加载 3D 网格,因此应用程序在加载 3D 网格时不需要停止;这需要几秒钟。

问题:问题不在于如何使用 BackgroundWorker。这是有据可查的。当我想填充 Viewport3D 的 Model3DGroup(3D 对象组)时,就会出现问题。

从文件中加载 3D 网格时,在后台工作人员中,我使用网格中每个对象的所有点和三角形索引填充了一个自定义网格类。我将它们分别存储在 Point3DCollections 和 Int32Collections 中。

当这个填充对象被传回 GUI 线程时,我可以很好地读取存储在对象中的所有值和属性。我还可以读取我复制到 MeshGeometry3D 中的 Point3Dcollections 和 Int32Collections 进入 Model3DGroup,但随后得到线程所有者异常,因为后台填充对象的属性属于后台线程。

问题是我正在读取对象(Point3DCollection / Int32Collection)而不是从背景填充的对象中复制的普通值吗?
是不是这样当你在线程之间共享数据时,你必须在另一个线程中创建你想要使用的所有数据的副本(在其他对象中,即 MeshGeometry / Modelgroup)?我们可以不在后台填充一个对象,然后在填充完成后在另一个线程中“简单地使用它”吗?

0 投票
1 回答
209 浏览

iphone - iPhone OBJ-C:共享一个 MutableArray 并在两个 ViewController 之间移动

课程:

  • 应用委托
  • 应用视图控制器
  • 其他视图控制器

当前,应用程序在 AppViewController 中打开。我想添加一个新视图,OtherViewController。但是我希望 AppViewController 中的方法保存到 OtherViewController 可以用来显示信息的 MutableArray。

1- 我应该在 AppDelegate 的哪里创建 MutableArray?然后我如何访问它?

我希望能够在 AppViewController 上滑动对象以使 OtherViewController 滑动,我只需使用 OtherViewController 上的后退按钮即可返回。

2-如何在控制器之间切换?

谢谢您的帮助!

0 投票
3 回答
5303 浏览

python - Python:如何跨脚本的多次调用共享对象实例

我正在使用一个为外部程序提供 python 接口的库。这允许我创建:

上面的代码启动了一个我可以在 python 中控制的 Foo 程序的新实例。

我有一个需要多次调用的 python 脚本,并且根据外部参数,告诉外部 Foo 程序的单个实例来做不同的事情。很明显我做不到

foo = Foo()每次,

因为每次我的脚本运行时都会创建一个新的 Foo 实例。

我想要做的是创建foo= Foo()一次,并让多个调用共享同一个实例。目前我想只创建一次,序列化它,然后让我的脚本反序列化它。这种方法有效吗?有更好的选择吗?

谢谢!!

0 投票
1 回答
605 浏览

java - 使用 JAX-RS 将对象注入 servlet 类

我对整个 servlet 很陌生,所以如果我混合或使用不正确/令人困惑的术语,请纠正我。然而,我正在使用 JAX-RS (Jersey) 用 Ja​​va 编写一个博客 ping 服务器,我遇到了一个问题,即我有一个接受 REST 输入的 servlet 类和另一个列出相同内容的 servlet 类。

现在他们正在通过一个如下所示的类共享他们的对象:

这适用于小型开发环境,但感觉很脏,并且由于并发问题等原因,可能无法在重型生产环境中工作。而且它不是很灵活。我想做的是有一个接口,该接口具有读取和写入数据的方法。然后我会将实现此接口的类的对象注入这两个 servlet 中,以便它们实际上使用同一个对象来与数据交互。然后,这将由同步列表或数据库事务或其他东西支持。

这样做的首选方法是什么?可能吗?我的 web.xml 现在非常简单,如下所示:

0 投票
1 回答
5595 浏览

python - 如何在进程之间共享 pandas DataFrame 对象?

这个问题与我之前发布的链接有相同的点。

有没有避免内存深拷贝或减少多处理时间的好方法?

自从我遇到“DataFrame”对象共享问题以来,我对此一无所获。

我简化了示例代码。

如果有任何专业人士修改我的代码以在没有 Manager.list、Manager.dict、numpy sharedmem 的进程之间共享“DataFrame”对象,我将非常感谢她或他。

这是代码。

0 投票
1 回答
123 浏览

python - 在请求处理程序之间共享 CherryPy 的 BackgroundTaskQueue 对象

我正在使用cherrypy 来构建Web 服务。我遇到了BackgroundTaskQueue插件,我想用它来处理单独线程上的特定耗时操作。

文档说明用法应如下所示:

但是,恕我直言,像这样使用 bgtask 对象并不是很优雅。我希望其他 python 模块的处理程序也使用这个对象。

有没有办法订阅这个插件一次,然后在其他处理程序中“共享” bgtask 对象(例如,将它保存在 中cherrypy.request)?

这是怎么做到的?这需要编写一个cherrypy工具吗?

0 投票
1 回答
672 浏览

python - 在 Python 进程之间共享嵌套对象,对 tasklet(协程)具有写访问权限?

如何在 Python 进程之间共享嵌套对象,并对 tasklet(协程)进行写访问?

这是一个简化的例子,我只是为了正确地提出这个问题而写的一个类比;

首先请安装greenlet包:sudo pip install greenlet

在下面的示例中:

  • 变量Nature引用的类的实例habitat
  • 这个Nature类的实例有一个名为的实例变量animals
  • 在启动这个Nature类实例的同时,创建了 8 个不同的Animal类实例并将其附加到animals实例变量中。现在,如果我是正确的,这个实例Nature是一个嵌套对象。
  • 作为实例的最后一步live实例函数Animal使用greenlet包的switch()函数随机切换,直到global_counter达到1000。该live函数随机改变实例的limbs实例变量的值Animal

绿色测试.py

结果是:

按预期工作。改变limbsand的值global_counter(非零)

但是当我加入multiprocessing等式时;

greentest2.py

结果并不如预期:

limbs和的值global_counter都不变(零)。我认为这是因为Animal类的实例并global_counter没有在进程之间共享。那么如何在进程之间共享这个Nature类的实例或这些类的实例呢?Animal

根据@noxdafox 的回答添加

greentest3.py

然后结果是:

我完全知道global_counter可以与此方法共享,因为它是一个整数,但我实际上是在询问如何在进程之间共享实例Nature和类。Animal

0 投票
1 回答
87 浏览

c++ - C++ 对象共享错误 LNK2005 和 LNK 1169

我目前正在尝试创建一个井字游戏,由玩家共享的棋盘对象上的玩家类创建的两个玩家对象交替播放。据我所知,我已经完成了该程序,但是当我尝试构建时,我得到了这些错误并且似乎找不到原因。我对面向对象编程比较陌生。这是我得到的错误:

以下是代码:

板子头文件:

播放器cpp文件:

板子cpp文件:

主要源文件:

我没有发布整个播放器 cpp 文件,因为它大约有 600 行,并且只有对角搜索的重复,没有别的。现在谢谢你。