【发布时间】:2012-03-29 12:53:34
【问题描述】:
我有一段代码:
for url in get_lines(file):
visit(url, timeout=timeout)
它从文件中获取 URL 并在 for 循环中访问它(通过 urllib2)。
可以在几个线程中做到这一点吗?例如,同时访问 10 次。
我试过了:
for url in get_lines(file):
Thread(target=visit, args=(url,), kwargs={"timeout": timeout}).start()
但是它不起作用-没有效果,可以正常访问URL。
函数visit的简化版:
def visit(url, proxy_addr=None, timeout=30):
(...)
request = urllib2.Request(url)
response = urllib2.urlopen(request)
return response.read()
【问题讨论】:
-
Thread(...).start应该产生一个新线程来运行visit。你怎么知道访问是顺序的?
标签: python multithreading for-loop