C# MemoryPool的使用
System.Memory 命名空间下提供了一个内存池对象 MemoryPool<T>,在这之前你需要每次都 new 一个内存块出来,同时也增加了 GC 的负担,有了 MemoryPool<T> 之后,你需要的内存块直接从池中拿就可以了。
public abstract class MemoryPool<T> : IDisposable
内存池中项的类型。
继承
Object
MemoryPool<T>
实现
IDisposable
使用案例:
static void Main(string[] args)
{
var memoryPools = MemoryPool<int>.Shared;
var rentedArrays = memoryPools.Rent(10);//开辟10个内存块
for (int i = 0; i < 10; i++)
{
rentedArrays.Memory.Span[i] = i + 1;
}
//从内存块取出
for (int j = 0; j < 10; j++)
{
Console.WriteLine(rentedArrays.Memory.Span[j]);
}
Console.ReadKey();
}
来源:https://docs.microsoft.com/
版权申明:本文来源于网友收集或网友提供,仅供学习交流之用,如果有侵权,请转告版主或者留言,本公众号立即删除。
支持小微:
腾讯云 搞活动了?玩服务器的可以搞搞。就这几天时间。
轻量 1C2G6M 60GB SSD盘297元/3年
链接:https://curl.qcloud.com/bR8ycXZa
右下角,您点一下在看图片
小微工资涨1毛
商务合作QQ:185601686
评论