使用多个线程时,我是否需要担心同步问题?
我正在编写一个代码,该代码计算独立麦克风通道之间的延迟,并输出几个延迟补偿后的.wav文件。
这是我当前的蛮力方法:
如果总记录会话很短,则由于静态缓冲区的大小有限,我当前的方法(第2种)适用。我不确定是否每次访问记录的数据时都会同步记录的数据。
可能的解决方案:
将它们存储在循环缓冲区中。为每个线程实现一个计数器,并在有新数据可用时递增。这使我能够跟踪任何可能的同步问题。
不用担心这个问题,因为它们不存在吗?
我不知道的其他可能,更有效的方法?
您正在接收的数据通常是等距分布的,并且我看不到线程之间的任何互操作-因此从计算角度看,您应该不错:但是,根据我的经验,如果未立即处理WaveIn回调,NAudio会丢弃帧。这肯定会使您不同步。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句