同步处理来自多个线程的数据

股票用户名

使用多个线程时,我是否需要担心同步问题?

我正在编写一个代码,该代码计算独立麦克风通道之间的延迟,并输出几个延迟补偿后的.wav文件。

这是我当前的蛮力方法:

  1. 为每个麦克风创建线程(使用NAudio WaveIn)。
  2. 每当记录的数据可用时,将它们附加到较大的静态缓冲区(每个麦克风1个)中。
  3. 等待冲动(在这种情况下会鼓掌)被检测到。
  4. 查找峰并确定“距离”(数组索引之间的差)。
  5. 录制完成后,将已录制的数据从静态存储器存储到.wav文件中,并为每个麦克风设置适当的偏移量。

如果总记录会话很短,则由于静态缓冲区的大小有限,我当前的方法(第2种)适用。我不确定是否每次访问记录的数据时都会同步记录的数据。

可能的解决方案:

  1. 将它们存储在循环缓冲区中。为每个线程实现一个计数器,并在有新数据可用时递增。这使我能够跟踪任何可能的同步问题。

  2. 不用担心这个问题,因为它们不存在吗?

  3. 我不知道的其他可能,更有效的方法?

srandppl

您正在接收的数据通常是等距分布的,并且我看不到线程之间的任何互操作-因此从计算角度看,您应该不错:但是,根据我的经验,如果未立即处理WaveIn回调,NAudio会丢弃帧。这肯定会使您不同步。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

同步来自多个数据源的数据

来自分类Dev

来自多个线程的cudaEventSynchronize

来自分类Dev

c# 如何使用多线程处理来自多个线程的多个返回值?

来自分类Dev

来自多个文件的Python多线程

来自分类Dev

来自多个文件的Python多线程

来自分类Dev

来自多个NSURLSession的NSURLSessionTasks的线程行为?

来自分类Dev

在单个活动中处理来自多个意图的多个数据

来自分类Dev

来自多个ajax请求的数组数据

来自分类Dev

来自多个ajax请求的数组数据

来自分类Dev

来自多个表的SQL数据

来自分类Dev

汇总来自多个记录的数据

来自分类Dev

计算来自多个表的数据

来自分类Dev

合并来自多个来源的元数据

来自分类Dev

解析来自多个Json对象的数据

来自分类Dev

来自多个表的PHP SELECT数据

来自分类Dev

显示来自多个Items Rails的数据?

来自分类Dev

来自多个细胞的近似实验数据

来自分类Dev

Excel - 合并来自多个表的数据

来自分类Dev

使用多重处理,使用来自多个数据加载器的对象填充队列

来自分类Dev

使用XSL合并后如何处理来自多个XML文件的所有数据

来自分类Dev

使用rsync同步来自多个目录的txt文件

来自分类Dev

使用std :: thread组合来自多个线程的数组

来自分类Dev

从期货可观察到-来自多个线程的onNext

来自分类Dev

与来自多个线程的数组的非锁定交互(在 Java 中)

来自分类Dev

在C中处理来自多个库的错误代码

来自分类Dev

处理来自多个登录的变量以进行实时聊天

来自分类Dev

处理来自多个文档的字形以重新排列PDF

来自分类Dev

Python & Tkinter:来自多个类的多处理

来自分类Dev

如何处理来自多个窗口的消息

Related 相关文章

热门标签

归档