マルチプロセッシングモジュールを使用して2つ(またはそれ以上)のGTKウィンドウを生成するpythonスクリプトを作成しようとしています。私はここに壁に当たっているようだ。2kウィンドウでの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:致命的なIOエラー0を(ここでは、コードと私は取得していますエラーがあります成功)をXサーバー上に設定します。 Python:../../src/xcb_io.c:249:process_responses:アサーション `((long)(dpy-> last_request_read) - (long)(dpy-> request))< = 0) 'に失敗しました。
は時々私は得る:
multiwin.py:0.0:Xサーバ上の致命的なIOエラー11(リソース一時的に利用できません)。
問題はgtkループですか?マルチプロセッシングはそれらを分離しないのですか?
非常に参考になります。
本当にマルチプロセスを使用したいのですか、2つのウィンドウを持ちたいだけですか? – liberforce
私は本当にこれが別々のプロセスにある必要があります。 –
呼び出しスクリプトでgtkをインポートしていますか?私はあなたの問題を再現することができました。なぜなら、呼び出し側のスクリプトにインポートgtkがあったのですが、削除したときはインポートできませんでした。インポートはtiny_gtk_process関数内にのみあります。 – bohrax