我个人觉得是不是用多进程协同比较简单,协同方法有很多,大家有没有什么好的协同例子可以参考一下呢?谢谢大家!注:linux平台
1
tkliuxing Feb 21, 2015
啥样的后台程序?多进程我一般用XMLRPC通信,简单明了。
|
4
billlee Feb 22, 2015
这要看 GUI 是用什么库实现的吧
比如说用 PyQt/PySide 的时候,在工作线程里处理完成后直接通过 Qt 的 signal 通知 GUI 线程,完全透明 |
5
incompatible Feb 22, 2015
这种要通过异步做啊
当需要调用后台程序时,不要在gui进程/线程中阻塞调用,而是新起进程/线程异步调用。异步调用结束后,再更新gui |
6
zerh925 Feb 22, 2015
python 2.7 + wxpython 3.0
我之前做的一个项目,后台属于cpu密集型运算。即使让后台继承multithreading.Thread,还是会造成GUI阻塞,因为多线程还是使用同一个core干活。后来改成multiprocessing,将后台分配到不同的process,每个process都是不同core,可以调用系统监测看到。仅供参考。 |
7
skyline75489 Feb 22, 2015
异步 +1
|
8
ruoyu0088 Feb 22, 2015
我用zmq进行进程通信,在GUI线程中用gevent协程管理这些通信通道。
|
9
enotx Feb 22, 2015 via Android
写qt的时候全靠qthread和pyqtsignal搞定
|
10
tkliuxing Feb 22, 2015
@oursunny 进行RPC调用时开个线程或者协程好了。不过你的问题还需要再详细描述一下。参见5W1H http://wiki.woodpecker.org.cn/moin/5W1H
|
11
Wicked Feb 22, 2015 via iPhone
pyQt召唤你
|