【发布时间】:2012-09-25 11:50:38
【问题描述】:
我们有一个具有固定长度数组的 Disruptor 实现。是否可以实现一个不依赖于该数组,而是包含(可能是自描述的)可变长度对象列表的模式版本。例如,Protobuf 对象的 Ringbuffer?
我知道固定长度数组用于“预分配”步骤,但我认为可以用一个或多个对象池来近似该步骤。
【问题讨论】:
-
你想达到什么目的?您是否想要像不断增长的环形缓冲区这样的东西,在重用最旧的内存之前只会增长到特定数量(例如,用于事件日志或类似的东西)?
-
我需要一个更灵活的环形缓冲区。我继承了一个基于一个系统的系统,但几乎没有/没有低延迟要求。对于固定长度数组的不灵活性,添加新参数或测试新想法非常困难。
-
也许我因为没有使用这个特定的模式而遗漏了一些东西,但是有什么新参数?数组怎么“不灵活”?