[英]Memory pool for object with different size - C#
您是否有一些解決方案,如何使用可以包含不同大小的不同數據的對象創建對象池(內存池)? 因此,如果我請求內存池中具有某個大小的對象,它會返回給我一些與我的請求大小最接近的已分配內存塊。 它應該用C#編寫。 謝謝,因為我真的不知道,這個和最好的算法的最佳集合是什么。 在 C++ 中有一些解決方案,但 C# 沒有內存池。
.Net Framework 已經有這樣的實現(由 Windows Communication Foundation 使用)。 見緩沖區管理器
var buffMgr = BufferManager.CreateBufferManager(
104857600, // use no more than 100 MB in total
10485760); // allocate 10 MB max to each buffer
var buff = buffMgr.TakeBuffer(65535); // allocate a buffer enough to fit a 65 KB object
// note: this could return a buffer bigger than 65 KB
//when done with the buffer:
buffMgr.ReturnBuffer(buff);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.