Python Tkinter多个选项卡:(多线程或多处理)

Python Tkinter多个选项卡:(多线程或多处理),python,multithreading,tkinter,multiprocessing,Python,Multithreading,Tkinter,Multiprocessing,我正在构建一个带有多个选项卡的tkinter gui程序,并在每个选项卡中执行对象检测。我只是想知道我应该像谷歌浏览器那样对每个标签使用多处理,还是只使用多线程。在这种情况下,哪种设计在性能方面会更好?您可以为工作线程使用任何您想要的东西,但是只有一个线程(“GUI线程”)可以在屏幕上实际绘制东西 浏览器也是如此——从进程基本上在内存中呈现页面,并将像素数据发送给绘制页面的主进程;主进程发回用户输入等 在内存中呈现标准GUI元素对于大多数库存GUI工具包(包括Tk)是不可能的(“因为这是一个不常

我正在构建一个带有多个选项卡的tkinter gui程序,并在每个选项卡中执行对象检测。我只是想知道我应该像谷歌浏览器那样对每个标签使用多处理,还是只使用多线程。在这种情况下,哪种设计在性能方面会更好?

您可以为工作线程使用任何您想要的东西,但是只有一个线程(“GUI线程”)可以在屏幕上实际绘制东西

浏览器也是如此——从进程基本上在内存中呈现页面,并将像素数据发送给绘制页面的主进程;主进程发回用户输入等


在内存中呈现标准GUI元素对于大多数库存GUI工具包(包括Tk)是不可能的(“因为这是一个不常见的要求”),所以您不能这样做。通常情况下,在窗口系统级别(例如)是可能的,这正是浏览器所利用的。

所有tkinter进程都必须使用相同的线程,因此tkinter在您的问题中不起作用。进入选项卡中显示的内容的任何计算都可以是线程化的或多处理的,但使用哪种计算取决于该计算是什么。一般来说,CPU绑定程序使用多处理,IO绑定程序使用线程。