调用p=pyaudio。当在多进程内部调用时,我的应用程序中的PyAudio((会导致它冻结。请注意,我正在使用pythonw而不是python运行该应用程序。当我移除wx模块时,它工作正常。关于如何修复有什么建议吗?我在MacOS 上使用python 3.5
from app import frame, app
import pyaudio
import time
import multiprocessing as mp
def worker():
p = pyaudio.PyAudio()
while True:
print('starting worker')
print('pyaudio', p)
time.sleep(1)
if __name__ == '__main__':
p1 = mp.Process(target=worker)
p1.start()
frame.Show()
app.MainLoop()
p1.join()
应用程序
import wx
app = wx.App()
frame = wx.Frame(parent=None, title='Hello World')
frame.Show()
app.MainLoop()
导入app
模块时,它在app.MainLoop()
执行所有代码并进行阻塞,同时处理和调度事件。在MainLoop
返回之前,控制不会返回到主模块。