#一个进程一旦创建出来,一定有一个主线程 #为了提高效率,我们可以使用多线程来下载文件 #多任务可以由多线程来完成,也可以由单进程来完成,CPU轮询策略 #thread模块----已经被废弃了! #threading模块--Python3中的,代替thread,所以Python3中不支持thread,Python2中支持 #为了兼容代码,python3将thread重命名为'_thread' #所以python的标准库提供了两个模块,_thread(低级模块),threading(高级模块) #由于threading已经对_thread进行了封装,所以我们在编程时主要使用threading ''' 启动一个线程就是把函数传入并创建一个Thread实例,然后调用start方法 ''' import time,random def download(filename): print('开始下载%s文件!'%filename) time.sleep(random.random()*5) print('%s文件下载完成!' % filename) #单线程(默认是主线程) # if __name__=='__main__': # for i in range(5): # download(i) #多线程 import threading if __name__=='__main__': for i in range(5):#5个文件 #创建线程 t=threading.Thread(target=download,args=(i,)) t.start()
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 /Users/apple/PycharmProjects/stage4/thread/t01.py
开始下载0文件!
开始下载1文件!
开始下载2文件!
开始下载3文件!
开始下载4文件!
3文件下载完成!
1文件下载完成!
4文件下载完成!
0文件下载完成!
2文件下载完成!
Process finished with exit code 0