我是否需要在一个线程中锁定一个被追加的数组,并从另一个线程的开头读取?

时间:2016-11-26 02:08:15

标签: python multithreading

这类似于早期的问题,但更具体的情况。

  • 主题1 中,我正在阅读音频数据。每个样本都附加到一个名为cum_samples的数组中。

  • 主题2 中,读取cum_samples中间的片段以准备进行频率分析。我不可能从数组末尾附近的任何地方读取数据,其中新数据被线程1追加。

所以有必要锁定cum_samples吗?

主题1

inp = alsaaudio.PCM(alsaaudio.PCM_CAPTURE, alsaaudio.PCM_NORMAL)
while something is True:
    l, data = inp.read()
    cum_samples = b''.join((cum_samples,data))

主题2

a = numpy.fromstring(cum_samples[2*job-8000:2*job], dtype = 'int16')

0 个答案:

没有答案