【发布时间】:2011-07-28 20:16:22
【问题描述】:
我需要保留一系列结构(音频数据),但由于内存限制,我只能保留有限的数量。我认为最好的方法是排队。如果我是根据我对大学课程的模糊记忆来做这件事,我会创建一个带有指针的链表。我会将新项目推入队列并弹出旧项目并释放内存。
是否有一个我应该使用的 C 库来管理这个队列,这样我就不必重新发明轮子?
【问题讨论】:
-
我质疑为此使用队列。如果您的队列包含三个项目怎么办?您加载声音 A、B 和 C。现在您再使用 A 3 次。 A 是最常用的,也是最近使用的。但是现在你加载声音 D。这会将 A 推出队列。这是你想要的行为吗? (或者我不理解这个问题?)
-
@Marvo:如果你的替换策略是 FIFO/LIFO 的话,链表是可以的。
-
这是一个先进先出队列。我将用第一组音频样本填充它,因为它在播放音频时需要更多音频,我将删除已通过的音频并添加更多音频。
标签: c memory-management queue