0

下面的架构最好地解释了我的问题在此处输入图像描述

基本上,我必须NSMutableData实时清除对象(或任何其他对象)的内容,即,我不能阻止其包含的线程。有没有办法/API来做到这一点?

更新:正如下面评论中提到的..我正在将音频包实时接收到主线程并立即将其路由到专用的音频池线程..(我有这么多线程的原因是 b/ci 没有控制传入数据包的接收..它们是实时的+播放速度比接收数据的速度慢很多..因此单独的音频池线程和阅读器线程)

4

1 回答 1

0

循环缓冲区(又称环形缓冲区)与 NSMutableData 很好地配合使用,因为您可以直接将字节数组用作缓冲区。

查看设计,我不明白为什么需要这么多缓冲区。似乎一个线程和两个缓冲区太多了。为什么不只拥有一个环形缓冲区,将其填满(它是“自我清除”)并在单独的线程中读取呢?设计是你的(即可以改变)还是强加给你的?

无论如何,请尝试为您的音频池使用环形缓冲区。

于 2012-09-17T18:48:17.900 回答