加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

高效的C#字节队列,用于解析二进制消息包的字节流

发布时间:2020-12-15 18:05:07 所属栏目:百科 来源:网络整理
导读:我正在尝试替换通常实现的循环缓冲区.队列的功能是缓冲传入的字节(例如从串行端口或其他数据流),而解析器检查队列中的字节并检测并提取消息数据包. 标准: 可以成长(即不固定大小) = 1 bytes can be enqueued at a time = 1 bytes can be dequeued at a time
我正在尝试替换通常实现的循环缓冲区.队列的功能是缓冲传入的字节(例如从串行端口或其他数据流),而解析器检查队列中的字节并检测并提取消息数据包.

标准:

>可以成长(即不固定大小)
>

= 1 bytes can be enqueued at a time

>

= 1 bytes can be dequeued at a time

>高效

我只是想使用它

System.Collections.Generic.Queue<byte>

…但我不知道这是否是最有效的使用类型.有什么建议么?

有什么更聪明的方式做我想做的事情吗? (例如有趣的建议here)

感谢您的建议和输入.

Prembo.

解决方法

队列<字节>由字节[]支持,但是如果使用Array.Copy从底层缓冲区复制,而不是循环通过Enqueue / Dequeue方法,则会看到更好的性能.因此,如果Queue< byte>不给你想要的性能,那么你可以实现自己的队列类,它提供了QueueMultiple和DequeueMultiple方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读