0

正常に実行されているコードがあります(ページに接続し、PHPSESSIDを取得します)。私がそのコードを関数に入れて、それからそれのスレッドを作ったとき:

Gdk.threads_enter()
threading.Thread(target=self.do_login,args=()).start()
Gdk.threads_leave()

コードがハングアップする

f = opener.open(req)

なぜアイデアはありますか?

アプリケーションを強制的に閉じると、すべてが完了し、エラーなしでターミナルにすべてが出力されます。なぜスレッドの特定の行にのみハングするのですか。スレッドの外にはありません。

4

1 に答える 1

1

さて、質問を解決できるように、ここにコメントを再投稿します。

pygtkおよびに関する他の投稿で言及されているようにthreading、奇妙なように見えるいくつかのハング動作は、次の行を実装していないことに関連しているようです。

gobject.threads_init()

gtk メインループを呼び出す前。ただし、このソリューションが Windows で機能する場合と機能しない場合があることが、stackoverflow に関する他の質問で報告されていることに注意してください。

于 2012-10-07T21:49:16.273 に答える