我的问题是关于 wxPython 的内部结构。 当我运行一些包含 wxPython 代码的简单而琐碎的应用程序时:
app = wx.App(False)
frame = MainWindow(None, "Window")
app.MainLoop()
因此,我有 3 个线程(在执行此代码之前,我有 1 个名为 MainThread
的线程,很明显)。我使用以下命令看到了它:
$ ls /proc/<number of process>/tasks
使用logging我已经确定我在 MainWindow 中所做的所有操作都在 MainThread 线程中执行。那两个线程是做什么的。我有一些猜测,但想看看专家的答案。 我知道我可以看到源代码,但也许我可以阅读一些有关我的问题的文章。
最佳答案
我不知道这种情况下的具体情况,但 wxWidgets 有时会使用线程来帮助它做一些事情,例如接收某些类型的带外通知、一般内务管理等。此外,在某些情况下, native 工具包wxWidgets 的构建基础将使用线程本身来完成类似类型的事情。一般来说,您可以忽略这些线程,将它们视为“实现细节”并只处理主线程。
关于python - wxPython 内部 : two created threads after calling app. MainLoop(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24385347/