import time,random,threading def download(fileName): print('开始下载%s文件'%fileName) time.sleep(random.random()*10) print('%s文件下载完成'%fileName) # 单线程(默认主线程) # if __name__== "__main__": # for i in range(5): # download(i) #为了提高效率,我们可以使用多线程来下载文件: #多线程--threading #多任务可以由多线程完成,也可以由多进程来完成! #thread模块--已经被废弃了 #threading模块代替了thread,所以在python3当中不能再使用thread模块 #为了兼容性,python3将thread重命名为"_thread" #python的标准库提供了两个模块,_thread(低级模块)和threading(高级模块) #由于threading已经对_thread进行了封装,所以我们在编程时主要使用threading #使用 #启动一个线程就是把函数传入并创建一个Thread实例,然后调用start()方法 #多线程__main__ #主线程 if __name__ == "__main__": for i in range(5): #创建线程 t = threading.Thread(target=download,args=(i,)) #启动子线程 t.start()