问题
I have a code that is running fine (connect to a page , get PHPSESSID) . when i put that code in a function , then made a thread of it :
Gdk.threads_enter()
threading.Thread(target=self.do_login,args=()).start()
Gdk.threads_leave()
the code hangs on
f = opener.open(req)
any ideas why ?
when i force close the application , it completes everything and prints everything in the terminal without errors . why does it hang on that particular line in thread only . it does not outside of a thread .
回答1:
Okay, I just repost the comment here so that the question can get solved.
As has been mentioned on other posts regarding pygtk
and threading
, several hang-behaviours that seem strange appears to be related to not having implemented the following line:
gobject.threads_init()
Before calling the gtk main-loop. Note though that it has been reported on other questions here on stackoverflow that this solution may or may not work for Windows.
来源:https://stackoverflow.com/questions/12708039/urllib2-opener-hangs-if-run-inside-a-thread