有人可以向我解释为什么以下内容适用于多次迭代:
static void Main(string[] args)
{
BufferManager _bufferManager = BufferManager.CreateBufferManager(100, 100);
int count = 0;
while (true)
{
byte[] b = _bufferManager.TakeBuffer(100);
Console.WriteLine("Bytes taken: {0}", ++count * 100);
}
}
我期待缓冲区管理器抛出OutOfMemoryException或类似的东西,因为我只为它的池分配了100个字节。然而,这个循环将花费很多兆字节而没有问题。
我错过了什么吗?这是否意味着调用ReturnBuffer是可选的?
答案 0 :(得分:1)