wxPython内部:调用app.MainLoop()后创建两个线程

时间:2014-06-24 11:22:42

标签: python wxpython wxwidgets

我的问题是关于wxPython内部。 当我运行一些包含wxPython代码的简单而简单的应用程序时:

app = wx.App(False)
frame = MainWindow(None, "Window")
app.MainLoop()

结果我有3个线程(在执行此代码之前,我有一个调用MainThread的线程,这很明显)。我使用以下命令看到它:

$ ls /proc/<number of process>/tasks

使用logging模块我已经确定我在MainWindow中执行的所有工作都在MainThread线程中执行。那两个线程是做什么的。我有一些猜测,但想要阅读专家的答案。 我知道我可以看到源代码,但也许我可以阅读一些关于我的问题的文章。

1 个答案:

答案 0 :(得分:2)

我不知道这种情况下的细节,但wxWidgets有时会使用线程来帮助它做一些事情,例如接收某些类型的带外通知,一般内务管理等。此外,在某些情况下,构建wxWidgets的本机工具包将使用线程本身来处理类似的事情。通常,您可以忽略这些线程,将它们视为&#34;实现细节&#34;并且只是处理主线程。