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 聽說讀寫 閱讀(3734) 評論(5) 推薦(2)
浙公網安備 33010602011771號