如何在python中添加到Queue中时运行一个函数

时间:2012-12-10 09:35:57

标签: python multithreading

我想知道是否有选项可以知道在python中添加/追加任务到Queue的时间。

我有一个应用程序,其中一些进程在线程中运行。根据条件,从该线程调用函数。被调用的函数将显示一个窗口。

目前它的工作和窗口正在显示,我的主要问题是当窗口显示时应用程序被挂起。我认为这是由于调用了显示窗口所在的函数的函数。

所以在我的搜索中,有人建议我在python中使用Queue。

但是当我通过python example表明无限循环将在主线程中运行。

如果是这样,那么我的整个应用程序将处于无限循环中。

1 个答案:

答案 0 :(得分:0)

您没有指定正在使用的确切GUI框架。

如果你正在使用wxPython,你可以使用wx.CallAfter从另一个线程调用一个函数:

def ShowWindow(txt):
    wx.MessageBox(txt)

来自另一个主题:

wx.CallAfter(ShowWindow,'message from another dimension')

这不会导致主循环挂起。