为列表中的每个元素创建一个线程

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 应该得到元组

现在可以了