我们需要为使用 C# 开发的应用程序开发某种缓冲区管理。
本质上,应用程序会在设备进入时接收来自设备的消息(短时间内可能会有很多消息)。我们需要将它们排在某种缓冲池中,以便我们可以以托管方式处理它们。
我们正在考虑以 256 字节的块分配一块内存(所有消息都小于这个值),然后使用缓冲池管理来拥有一个可用于传入消息的可用缓冲区池和一个准备好处理的缓冲区池.
因此流程将是“获取缓冲区”(处理它)“释放缓冲区”或“将其留在池中”。我们还需要知道缓冲区何时填满。
潜在地,我们还需要一种“窥视”缓冲区的方法,以查看池中最高优先级的缓冲区是什么,而不是总是获取下一个缓冲区。
.NET 中是否已经对此提供了支持,或者是否有一些我们可以使用的开源代码?