我目前正在做一个项目,要求用户使用基于文本的方法或基于语音的方法来提供输入。我正在努力弄清楚如何同时运行两个函数,以识别用户选择了哪种输入法。
对于基于文本的输入,用户只需按下键盘上的任意键,而对于基于语音的输入,用户需要对着麦克风说出一个特定的热门词汇(例如“activate”)。我尝试过使用循环线程,但在有效实现它时遇到了问题。
下面是一个链接,指向我尝试在此任务中使用的代码:https://wtools.io/paste-code/bKjC
我目前正在做一个项目,要求用户使用基于文本的方法或基于语音的方法来提供输入。我正在努力弄清楚如何同时运行两个函数,以识别用户选择了哪种输入法。
对于基于文本的输入,用户只需按下键盘上的任意键,而对于基于语音的输入,用户需要对着麦克风说出一个特定的热门词汇(例如“activate”)。我尝试过使用循环线程,但在有效实现它时遇到了问题。
下面是一个链接,指向我尝试在此任务中使用的代码:https://wtools.io/paste-code/bKjC
1条答案
按热度按时间wgx48brx1#
在用户交互中实现双输入法的一种方法是使用多处理而不是Python中的线程,这是因为Python中的全局解释器锁(Global Interpreter Lock,GIL)限制了多个线程同时执行。
Python中的全局解释器锁(Global Interpreter Lock,GIL)确保了一次只有一个线程可以执行Python字节码。这会限制多线程Python程序的性能,尤其是CPU密集型程序。为了充分利用多个CPU内核,可以使用多进程编程来代替多线程编程。
下面是我使用多处理所做的一个示例实现:
下面是指向前一个文件的新代码的链接:https://wtools.io/paste-code/bKrp