Lock Free ObjectPool<T>的C#实现 (对象池)
摘要:
最近实现了一个LockFree的对象池主要的想法是: 1.复用构造出来的对象 2.避免重复创建和销毁对象对GC造成的压力 3.避免重复创建对象造成的资源消耗最适合的场景是: 1.构造对象很慢,并且需要构造很多个对象的情况主要技术特征: 1. C#4.0的实现(可以降级到2.0) 2. 内部没有使用普通的lock,而是使用Lock Free的实现方式 3. 将常用的取回对象的方式,换成委托运行, 这样的话ObjectPool可以帮你自动将对象压回队列 4. ObjectPool支持对象池上下限的设置(如果移除该功能性能还会提高很多!)以下是实现代码: /// <summar... 阅读全文
posted @ 2012-03-16 22:22 听说读写 阅读(3716) 评论(5) 推荐(2) 编辑