1

我想知道在使用 Apache Commons Pool 实现池时,LIFO 堆栈与 FIFO 队列的优势是什么。将默认设置为 FIFO 会不会更“安全”以避免超时连接(在开始时打开但直到高峰时间才使用)并且可能避免在空闲时进行测试?

我会很感激任何意见。非常感谢你。

4

1 回答 1

2

LIFO(默认)的一些优点可以是

  1. 如果打开,空闲对象驱逐器将更有效地工作
  2. 工作可能集中在较少数量的实例上,重用最近使用的资源。

这些是否是好处取决于池对象是什么、负载分布是什么、将工​​作负载集中在少数实例上的重要性以及重用最近使用的资源的好处。

您是正确的,使用 LIFO 会导致某些实例在池中闲置更长的时间。如果保持池精简和集中负载不是优势,则超时是一个问题,并且负载分布使得 FIFO 访问可以保持实例新鲜,那么这种配置是有意义的。这就是配置选项存在的原因。

于 2013-12-26T06:14:36.630 回答