-1

在连续循环中扫描条形码,如果扫描有效,则读取/播放文本数据和语音数据,这发生在不同的上下文中。首先发生文本播放,然后执行其回调函数,从那里进行语音播放,然后执行其回调函数。完成多次扫描时会出现此问题,有时会出现同步问题。在播放第一个条码的文本时,如果再次扫描,则播放第二个条码的语音数据(跳过第二个条码的文本播放)。这种行为只是偶尔观察到,所以调试起来有点困难。

任何想法如何在回调中提供同步?

提前感谢您的帮助。

-阿帕纳

4

1 回答 1

0

你的问题不是很清楚,所以假设你目前有 3 个线程

  1. 从硬件读取条形码
  2. 显示代码?
  3. 将代码音频播放为条形码中包含的文本

读取条形码的线程是数据的生产者,应该将工作单元推送到消费者堆栈上,并且应该通知堆栈存在工作单元。粗略地用谷歌搜索生产者-消费者队列。

线程 2 和 3 似乎是同步的,应该组合成一个线程?

于 2013-05-20T06:30:39.600 回答