我正在尝试在 pygtk 中开发下载器应用程序所以当用户添加一个 url 以下操作时
- 添加网址()
调用
验证网址()
获取网址详细信息()
因此,由于延迟,将 url 添加到列表中需要一些urllib.urlopen
时间,所以我尝试实现线程。我将以下代码添加到主窗口
thread.start_new_thread(addUrl, (self,url, ))
我传递了对主窗口的引用,以便我可以从线程访问列表,但似乎什么也没发生
我正在尝试在 pygtk 中开发下载器应用程序所以当用户添加一个 url 以下操作时
- 添加网址()
调用
验证网址()
获取网址详细信息()
因此,由于延迟,将 url 添加到列表中需要一些urllib.urlopen
时间,所以我尝试实现线程。我将以下代码添加到主窗口
thread.start_new_thread(addUrl, (self,url, ))
我传递了对主窗口的引用,以便我可以从线程访问列表,但似乎什么也没发生
我认为你先检查这个线程如何在 Python 中使用线程?. 例如: 导入队列导入线程导入urllib2
# called by each thread
def get_url(q, url):
q.put(urllib2.urlopen(url).read())
theurls = '''http://google.com http://yahoo.com'''.split()
q = Queue.Queue()
for u in theurls:
t = threading.Thread(target=get_url, args = (q,u))
t.daemon = True
t.start()
s = q.get()
print s
希望这对您有所帮助。