这类似于早期的问题,但更具体的情况。
在主题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')