- 在应用程序池技术最小延迟对象,我们有一些关于30类型的对象被重复创建。
- 其中一些寿命长(小时)有些短(毫秒)。
- 对象可以在一个线程中创建并在另一个线程中销毁。
有没有人有任何线索什么可能是最好的创建/销毁延迟,低锁争用和合理的内存利用率意义上的良好池技术?在多线程应用程序
附加1.
1.1。对于一种类型的对象池/内存分配通常是不相关的另一种类型的(参见1.3除外)
1.2。内存分配在一段时间内仅针对一种类型(类)执行,通常针对多个对象。
1.3。如果一个类型使用指针聚合另一个类型(出于某种原因),这些类型在一个连续的内存中分配在一起。
附加2.
2.1。已知每个类型使用访问序列化的集合比新/删除更差。
2.2。应用程序用于不同的平台/编译器,不能使用编译器/平台特定的技巧。
追加3
变得明显,最快的(与最低的延迟)执行要组织对象池,如明星般的工厂网络。中央工厂是全球其他线程专用工厂的地方。定期的对象提供/回收在特定于线程的工厂中更有效,而中央工厂可用于线程之间的对象平衡。
3.1。组织中央工厂和特定线程工厂之间通信的最有效方法是什么?
你知道时间提前的对象的生命周期,或是否会转移线程? – hazzen 2008-09-19 05:41:38
不幸的是没有。这由应用程序逻辑定义。 – user18547 2008-09-19 06:29:38