python - wxPython 内部 : two created threads after calling app. MainLoop()

标签 python wxpython wxwidgets

我的问题是关于 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/

相关文章:

wxpython - 使用 Pyinstaller 编译应用程序,但在运行生成的 exe 时不启动 cmd

c++ - wxMenuItem 加速器规范

c++ - 在 wxwidgets 中创建 wxSashLayoutWindow 时出现链接错误

c++ - 程序没有正确终止

python - wxPython中查找文本大小的正确方法

python - 在 Linux VM 上托管 Django 项目时使用 Gunicorn 有什么意义

python - "python -m doctest"忽略不同目录下的同名文件

python - PyGTK:过滤输入小部件的键盘输入时,在打开大缓冲区时无法正确设置光标位置

python - 机器人框架骑行 : text in Edit panel is not markable

Python3 将 unicode 文字字符串解释为 unicode 字符