为列表中的每个元素创建一个线程
Create a thread for each element in list
我正在尝试为列表中的每个项目创建一个单独的线程。
我怎样才能做到这一点?
列表包含 10-20 url。我需要下载、解析并插入到 DB
所以我想做的是:
urls = {'url1,url2,url3'}
def get_and_insert(xml):
try:
get = requests.get(xml)
parsed = xmltodict.parse(get.text)
//upload info to DB and so on..
for each in urls:
threading.Thread(target=get_and_insert(each)).start()
但是python还是一个接一个url。没有线程。
怎么做?或者也许有人可以分享一个异步示例。
问题出在
threading.Thread(target=get_and_insert(each)).start()
我错误地向线程传递了参数
正确的做法:
threading.Thread(target=get_and_insert,args=(each,)).start()
因为 args 应该得到元组
现在可以了
我正在尝试为列表中的每个项目创建一个单独的线程。
我怎样才能做到这一点?
列表包含 10-20 url。我需要下载、解析并插入到 DB
所以我想做的是:
urls = {'url1,url2,url3'}
def get_and_insert(xml):
try:
get = requests.get(xml)
parsed = xmltodict.parse(get.text)
//upload info to DB and so on..
for each in urls:
threading.Thread(target=get_and_insert(each)).start()
但是python还是一个接一个url。没有线程。
怎么做?或者也许有人可以分享一个异步示例。
问题出在
threading.Thread(target=get_and_insert(each)).start()
我错误地向线程传递了参数
正确的做法:
threading.Thread(target=get_and_insert,args=(each,)).start()
因为 args 应该得到元组
现在可以了