【发布时间】:2018-09-07 11:43:35
【问题描述】:
我在尝试实现的功能方面需要帮助,不幸的是我对多线程不是很满意。
我的脚本从 Internet 下载 4 个不同的文件,并为每个文件调用一个专用函数,然后全部保存。 问题是我是一步一步做的,因此我必须等待每次下载完成才能继续下一个。
我知道我应该做些什么来解决这个问题,但我没有成功编写代码。
实际行为:
url_list = [Url1, Url2, Url3, Url4]
files_list = []
files_list.append(downloadFile(Url1))
handleFile(files_list[-1], type=0)
...
files_list.append(downloadFile(Url4))
handleFile(files_list[-1], type=3)
saveAll(files_list)
需要的行为:
url_list = [Url1, Url2, Url3, Url4]
files_list = []
for url in url_list:
callThread(files_list.append(downloadFile(url)), # function
handleFile(files_list[url.index], type=url.index) # trigger
#use a thread for downloading
#once file is downloaded, it triggers his associated function
#wait for all files to be treated
saveAll(files_list)
感谢您的帮助!
【问题讨论】:
标签: python multithreading python-2.7