问题标签 [circular-buffer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - C ++如何将地图与循环缓冲区混合?
我想知道是否有可能拥有一个像 boost 循环缓冲区一样工作的地图。这意味着它的大小是有限的,当它达到其有限的大小时,它将开始覆盖第一个插入的元素。我也希望能够通过这样的缓冲区find or create
和[name]
. 是否有可能创造这样的东西以及如何去做?
c# - 在 C# 中管理线程关系
现在,我正在学习多线程以及在 C# 中的使用。所以,我面临以下问题:(对不起我这么简单的问题)
假设,我们有两个名为 Producer 和 Consumer 的类。生产者任务在程序运行时产生 4 个数字,消费者任务正在消费并使用这些数字,并在程序结束时返回它们的总和。
消费者类定义:
生产者类的定义如下:
而且,我们有一个HoldInteger
包含 Buffer 变量的类,生产者写入这个变量,消费者从中读取。我结合这些类并在我的主要方法中编写以下代码:
所以,我的问题是How can i manage this relationship With Low Memory and Time Wasting ?
请注意,这些线程管理代码将放在HoldInteger
类体中。
感谢您的关注。
java - Queue RingBuffer implements Queue12. Doesn't work
My code compiles but doesn't work. I think i didn't typecast right? and can someone explain to me wrapIdx method return index % capacity. i don't really understand how that code wraps the array. when it reaches the end of the array index % capacity will return 1, but doesn't an array start at 0 index?
Here's my code, i'm implementing a Queue12 interface. After i get this to work, will i be able to make a test class to check if it works?
java - Java泛型问题
Queue12 是一个接口,QueueImp12 是Queue12 的一个实现。所以我正在尝试测试我的 QueueImp12,但是当我在 Eclipse 中运行它(它编译)时,我的输出在控制台中终止。我相信我正确地创建了 ringBuffer。如果我的测试看起来不错,那么我的实现或 Eclipse 一定有问题。谢谢
c++ - boost::circular_buffer 递增开始指针而不使用 push_back()
我只想在不使用 push_back() 方法的情况下增加 boost::circular_buffer 容器的指针。我看到了一个 increment() 方法,但它在私有部分。我需要直接写入循环缓冲区,因为它比我准备数据并使用 push_back() 插入缓冲区要快。
这就是我现在所拥有的。它很慢,因为每次我都涉及两个副本push_back()
:
这就是我想要的,但类似IncrementBackPointer()
的功能不存在。
.net - .NET 中任何现有的可以有多个使用者的环形缓冲区?
想知道 .NET 中是否存在只有一个写入器但可以有多个使用者的现有环形缓冲区?
不用说,有多个线程从这个缓冲区读取(但只有一个线程写入),所以实现必须是线程安全的。
python - python中的循环数组类
我有一个创建循环数组类的项目,我将使用的语言是 python。我是 python 类的新手,但在阅读了一些网页和书籍章节后,我想我对它们的工作原理有所了解。但是我需要帮助,所以我想我会来 SO 的优秀老师那里 :)
我们的类必须能够实现几个操作;在前面插入,在后面插入,在索引处插入,从前面删除,从后面删除,从索引中删除。
我已经开始编码,但遇到了一些问题,我不能 100% 确定我的语法是否正确。
这是我到目前为止所拥有的:
我在那里停下来开始测试一些功能,主要是 addTofront 和 addToback。在使用 c = circular() 和 c.addToBack(2) 在 IDLE 中测试它们时,我得到一个索引错误......我不知道为什么。这不是唯一的问题,这只是我陷入困境并需要帮助前进的地方。
我在这里发帖是因为我需要帮助并想学习,而不是因为我懒惰并且没有尝试研究我的问题。已经谢谢了!
c - C 中的循环缓冲区实现
我找到了关于如何实现循环缓冲区的伪代码。
我不明白的是“消费项目w”。评论,因为我认为w = b[out];
我们正在消费w
,不是吗?
buffer - FreeBSD:关于 NIC 环形缓冲区、mbufs 和 bpf 缓冲区的问题
我一直在阅读许多关于数据包捕获/处理和主机堆栈的技术文档,试图理解这一切,有一些地方我很困扰,希望有人能提供帮助。
假设您正在运行 tcpdump:从 NIC 的环形缓冲区(物理 NIC 内存对吗?)复制数据包后,它会立即存储到 mbuf 中吗?然后 BPF从mbuf 获取数据包的副本,然后将其存储在 BPF 缓冲区中,所以内存中同时存在两个副本?我试图了解确切的过程。
或者更像是:数据包从 NIC 伪同时复制到 mbuf(用于主机堆栈处理)和 BPF?
一旦数据包通过 ip/tcp 输入函数以 mbuf 作为位置(指向 mbuf)通过主机堆栈处理,即数据包存储在 mbufs 中,如果数据包不是针对系统寻址的,例如通过集线器监控流量接收或 SPAN/Monitor 端口,数据包将被丢弃,并且永远不会进入主机堆栈。
我似乎遇到了显示内核“盒子”中的 NIC 环形缓冲区(RX/TX)/将其与用户空间分开的图表,这让我再次猜测环形缓冲区是否实际上分配了不同于物理内存的系统内存网卡。
假设环形缓冲区是指 NIC 的物理内存,设备驱动程序确定 NIC 环形缓冲区的大小是否正确,抛开物理限制?例如,我可以通过修改驱动程序来缩小缓冲区吗?
谢谢!
arrays - 在循环数组中搜索
在圆形数组中搜索的最佳方法是什么?
二进制搜索是正确的开始方法吗?