线程池
自动创建线程并且自动安排每个线程的任务
from threadpool import ThreadPool, makeRequests from threading import Thread import time # 1. 创建线程池对象 # ThreadPool(线程数) - 创建线程池对象,并且设置线程数(线程是线程池自动去创建的) pool = ThreadPool(100) # 2.确定任务对应的函数 def down_load(url): time.sleep(3) print(url) # 3.创建任务列表 # 创建任务对象: makeRequests(任务对应的函数, 任务函数调用的时候传递的实参列表) urls = [f'https://{x}' for x in range(200)] requests = makeRequests(down_load, urls) # 4.将每个任务添加到线程池中 for re in requests: pool.putRequest(re) # 开始执行任务,并且等待所有任务都执行完成 def finish(): pool.wait() print('所有电影下载完成:========================') t = Thread(target=finish) t.start()执行结果:
https://0 https://43https://44https://41 https://37 https://36https://31https://30 https://27https://25https://23https://29 https://21https://15https://13https://17https://11 https://8https://7 https://3https://1https://24 https://20 https://39 https://35 https://14 https://99https://97 https://10https://96https://85https://40 https://6https://81https://79 https://78https://77https://75https://51https://38https://2https://50 https://22 https://18 https://12 https://95 https://93 https://92https://90https://88 https://28 https://84https://83 https://82 https://4 https://26 https://73https://71 https://68 https://66 https://63 https://61https://59https://57 https://54 https://49https://48 https://47 https://19https://33 https://94 https://89 https://86 https://42 https://80 https://74 https://69 https://65https://62 https://58 https://55 https://45https://46 https://16 https://9 https://91 https://5https://76 https://72https://70 https://56https://53https://52 https://98 https://87 https://64 https://34https://32 https://67https://60 https://100 https://105https://103https://101https://106 https://102 https://104 https://115 https://116 https://112 https://110 https://108 https://113https://111 https://109 https://107 https://114 https://125https://126 https://124https://117 https://122 https://119 https://123 https://121 https://120 https://118https://135https://136https://137 https://134https://131 https://129 https://127 https://128https://133 https://130 https://132 https://149https://150https://147https://143https://141 https://138https://145https://146https://142 https://148 https://140 https://139 https://144 https://171https://168https://167https://165 https://164https://161https://160https://159https://158https://157https://156 https://155 https://170 https://172https://162 https://154https://153 https://163 https://169 https://152https://151https://166 https://199https://196https://194https://192https://188https://189 https://186https://183 https://178https://176https://174https://181https://187 https://198 https://193 https://180https://195 https://191https://197 https://190 https://185https://184 https://177 https://173 https://182 https://175 https://179 所有电影下载完成:========================