C# MemoryPool的使用

llovebo

共 801字,需浏览 2分钟

 ·

2021-07-30 06:29

    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


右下角,您点一下在看图片5c6d2bd663b15006ca7b7de44ad1d1c1.webp

小微工资涨1毛

商务合作QQ:185601686



浏览 14
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报