【发布时间】:2012-04-03 08:13:42
【问题描述】:
我正在尝试制作一个使用多处理模块生成 2 个(或更多)GTK 窗口的 python 脚本。看来我在这里撞墙了。这是我得到的代码和错误:
p1 = Process(target=tiny_gtk_process, name="process 1")
p1.start()
p2 = Process(target=tiny_gtk_process, name="process 2")
p2.start()
和:
def tiny_gtk_process():
import gtk
window = gtk.Window()
window.set_size_request(800,600)
window.show_all()
gtk.main()
我得到的大部分时间:
multiwin.py:X 服务器:0.0 上的致命 IO 错误 0(成功)。 python: ../../src/xcb_io.c:249: process_responses: Assertion `(((long) (dpy->last_request_read) - (long) (dpy->request))
有时我会得到:
multiwin.py:X server :0.0 上的致命 IO 错误 11(资源暂时不可用)。
问题是 gtk 循环吗?多处理不会隔离它们吗?
任何想法都会非常有帮助。
【问题讨论】:
-
你真的想使用多进程,还是只想拥有 2 个窗口?
-
我真的需要这个在不同的进程中。
-
你是在调用脚本中导入gtk吗?当我在调用脚本中有 import gtk 时,我能够重现您的问题,但当我删除它并且导入仅在 tiny_gtk_process 函数中时,我无法重现您的问题。
标签: python gtk multiprocessing