问题标签 [object-pooling]

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 回答
653 浏览

.net - COM 对象池和 .NET Web 服务

我有一个需要从 .NET Web 服务访问的 COM 对象。

我知道整个 STA/MTA 的事情——所以我的 COM 对象将被转换为 MTA 并且没有全局状态(虽然本身不​​是多线程的)。

如果我将它设置为 COM+ 服务器,并指定一个对象池,这是否意味着对于每个 Web 服务线程,它将使用不同的 COM 对象实例?而且不排队?

谢谢

0 投票
2 回答
634 浏览

c# - 对象池框架

对 C# 对象池框架有什么建议吗?要求是多线程支持和池大小限制,当一个线程请求一个对象但没有可用的对象时,它会被阻塞,直到其他对象之一被释放。

0 投票
1 回答
14941 浏览

java - 在 Spring 中如何管理对象池?

据我了解,在 Spring 中,默认情况下所有对象都被视为单例。如果单例设置为 false,则每次请求都会提供一个新对象。

但是如果我想合并对象怎么办?说设置从最小 1 到最大 10 个实例的范围?这可能使用Spring吗?

0 投票
7 回答
14344 浏览

java - 这个基本的 Java 对象池可以工作吗?

以下基本对象池是否有效?我有一个基于相同想法的更复杂的(即同时维护信号量和阻塞队列)。我的问题是 - 我需要 Semaphore 和 BlockingQueue 吗?我不需要做任何同步是对的吗?

0 投票
4 回答
10087 浏览

c++ - 对象池与动态分配

什么时候应该更喜欢对象池而不是动态分配的对象?

我需要每秒创建和销毁数千个对象。它本身是否足以决定支持对象池?

谢谢。

0 投票
3 回答
2414 浏览

java - 如何在 Java 应用程序服务器中创建自定义对象池

假设我在 Java 应用程序服务器中有一个消息驱动 bean (MDB)。MDB 从 JMS 队列接收消息并将其传递给消息处理器。就我而言,消息处理器是一个非常重的对象,需要大量初始化,因此我不想创建一个新的对象来处理每条消息。相反,我想提前创建一个消息处理器池并使用它们来处理消息。

所以,我的问题是:在 J2EE 应用服务器中构建这个池的“正确”方法是什么?是否有任何服务器内置支持定义自定义(非连接)对象池?在我将池塞进一个单例并希望最好之前,我想利用此模式的任何内置支持。尤其是:

  • 如何定义/实例化池?
  • 我如何进入游泳池?JNDI?
  • 应用服务器提供哪些管理能力?

我知道如何实现一个对象池。我的问题主要是关于在 J2EE 应用服务器中创建一个池。

我打算使用 Glassfish,但如果 JBoss 或其他东西能让这更容易,我会很灵活。

谢谢!

0 投票
6 回答
8885 浏览

c# - .NET 是否有通用对象池?

就时间和内存而言,我有一个构建成本很高的课程。我想维护一个这些东西的池,并根据需要将它们分配给同一进程中的多个线程。

是否有经过测试和证明的通用对象池?(我不想要 COM+ 池。)

0 投票
2 回答
1494 浏览

java - 对象池:howto

我需要实现一个由外部系统返回的会话池,以便在需要时可以快速重用它们(创建会话需要一段时间)。我使用数据源创建了一个数据库连接池(来自 Apache 的 DBCP),这是一个已实现的解决方案。

在一般情况下,我们使用什么来池化任意对象,是否有已实现的解决方案(即对象,而不是接口)来痛苦地处理任务?

第二个问题是,我们如何测试 Session 是否存在?是否有我们在对象池中覆盖的特定方法来查询 Session 自己的方法?

第三个非常重要的问题是,对象池对象应该是静态的吗?我从系统中提取的一组对象必须在不同的 Web 应用程序之间共享。所以,比如说,我们提取 5 个会话。App A 查询 POOL 并获取第一个可用的 Session。现在还剩下 4 个会话。另一个 App B 启动并查询 THE SAME POOL。等 游泳池是共享的。在同一台机器上运行的同一 Web 应用程序的不同实例中。

0 投票
1 回答
2034 浏览

boost - boost object_pool 构造方法

我热衷于使用 boost 的 object_pool 类对一组视频帧进行内存重用。

现在,VideoFrame 类有两个构造函数。构造函数的第一个版本需要 4 个参数,而第二个版本需要 6 个参数/参数。

对于分配的每个“新”视频帧,我想使用 4 或 6 参数版本调用对象的构造函数。例如:

在 MSVS 2005 上构建它,我收到错误:

根据object_pool的'construct'方法的文档,“ElementType必须有一个构造函数匹配???;给定的参数数量不能超过pool_construct支持的数量”

我已经看到了pool_construct的 boost 页面,但我不太确定我需要采取的方向。我在我的机器上构建的 boost 有 pool_construct.m4、pool_construct.sh、pool_construct.bat、pool_construct.inc。这是一个问题,我如何在我自己的项目中处理这些示例文件?我会创建自己的 pool_construct.inc 变体并将其包含在我自己的项目中吗?我将如何添加文件?

任何提示/建议将不胜感激。请注意,我已经安装了 gnu 的 m4。

零缺陷。

0 投票
3 回答
2267 浏览

objective-c - Objective-C 中的对象池

在 Objective-C 中是否有一种很好的方法可以做到这一点,还是我必须编写自己的繁琐逻辑?

我在 iPhone 游戏中每帧创建和销毁一些小状态对象。如果我可以重用池中的对象,那就太好了。