我正在pyqt4中编写一个必须读取并解析许多xml文件的应用程序.完成单线程处理需要花费一些时间来完成所有解析,并制作与该传入xml相对应的数千个python对象.我已经分析了代码,据我所知它是计算的,而不是I / O的.我想使...

我正在pyqt4中编写一个必须读取并解析许多xml文件的应用程序.完成单线程处理需要花费一些时间来完成所有解析,并制作与该传入xml相对应的数千个python对象.我已经分析了代码,据我所知它是计算的,而不是I / O的.
我想使用工人农场模型(python中的?Process.Pool)将应用程序转换为多核模型以分散负载.
但是,我也希望能够通过信号通知工作人员更新gui的进度.
从我到目前为止所读的内容看来,QThread不具有多核功能(因为它在一个核上循环运行),但是我需要QThread来执行Signal,因此本质上我无法做到这一点.
我也许可以安排不需要从工作人员发出信号,而只是从农民那里发出信号,这可能意味着我可以继续进行下去,但是然后我想知道:我可以将python对象列表从一个Process返回到另一个Process吗?
解决方法:
>产生一个QThread.
> QThread可以将任务种植到多处理池中.你可能
使用具有回调参数的pool.apply_async().
>回调参数允许您指定一个函数
目标函数完成时调用.
>回调在QThread中运行,并被发送给
目标函数是其唯一的参数.
>每次回调函数运行时,您都可以将GUI更新为
指示进度.
本文标题为:如何在PyQt4进程中使用多核python?


基础教程推荐
- 我是否缺少在Ubuntu 9.04上使用Python2.6绑定构建/安装VTK-5.4的步骤? 2023-11-13
- python-Groovy脚本无法执行外部进程 2023-11-12
- 从python编译cpp失败但不在shell中 2023-11-11
- python-使用串行对象作为参数的多进程 2023-11-12
- 关于Python Tkinter 复选框 ->Checkbutton 2022-10-20
- python安装包出现Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None))问题解决 2022-10-20
- windows 安装python 2023-09-04
- 在Windows中将带有星号的多个文件传递给python shell 2023-11-16
- Python之路-Python中的线程与进程 2023-09-04
- Ubuntu在当前用户目录下安装python 包 2023-09-03