【问题标题】:Calling a python function in the background在后台调用python函数
【发布时间】:2013-06-04 12:17:31
【问题描述】:

问题

我需要能够在后台调用函数而不冻结控制台。我有多线程的经验,但我希望它按顺序完成任务。最好的方法是什么?非常感谢示例代码,因为英语不是我的第一语言。

背景信息(针对我的问题)

我使用的是经过大量修改的 pyttsx 版本,因此当调用特定函数时,它会执行 SAPI 调用,从而冻结控制台。我希望能够拨打speak.main(decrypt(data)) 并且仍然能够在我的计算机说话时继续输入数据。

【问题讨论】:

  • 有两个线程,一个说话线程和一个控制台线程。在两者之间创建一个共享队列,当需要说出新数据时,将其推送到队列中。说话线程空闲它队列为空,如果不是,它会弹出一个值并说话。
  • 谢谢!如果您想将此作为问题提出,我很乐意标记它。你解决了我的问题! :) lonelycode.com/2011/02/04/…

标签: python multithreading function python-2.7 freeze


【解决方案1】:

我的建议是有两个线程,一个说话线程和一个控制台线程。在两者之间创建一个共享队列,当需要说出新数据时,将其推送到队列中。说话线程空闲它队列为空,如果不是,它弹出一个值并说话。

【讨论】:

    猜你喜欢
    • 2016-04-18
    • 2021-11-09
    • 1970-01-01
    • 2021-11-24
    • 1970-01-01
    • 2011-11-02
    • 2018-11-09
    • 1970-01-01
    • 2015-06-20
    相关资源
    最近更新 更多