代码如下:
from concurrent.futures import ThreadPoolExecutor#上面这行代码代表导入线程池ThreadPoolExecutor,concurrent.futures中的ProcessPoolExecutor类把工作分配给多个Python进程处理,因此,如果需要做CPU密集型处理,使用这个模块能绕开GIL,利用所有的CPU核心from time import sleep #从from库中导入sleep方法def run(n): #定义一个函数run,形式参数为n for i in range(n): #遍历数组n里的值i print(i) #并打印i sleep(0.5) #休眠0.5秒def main(): executor=ThreadPoolExecutor(5) #指定运行5个线程,并赋值给executor future=executor.submit(run(6),('complete')) #提交任务到线程池,任务为run(6)函数,Executor.submit()方法的参数是一个可调用的对象,调用这个方法后会为传入的可调用对象排定时间,并返回一个future print(future.done()) # future.done表示future是否结束,结束的话返回True,否则返回False sleep(1) #时间休眠1秒 print(future.done()) #future.done表示future是否结束,结束的话返回True,否则返回False print(future.result) #打印future的结果if __name__ == '__main__': main() #调用main函数
代码运行结果如下:
0
1
2
3
4
5
True
True
>
图片示例如下:
![5afbb085f77faac76992faa19107a7d0.png](https://i-blog.csdnimg.cn/blog_migrate/f5e6c330ce7e7e3dc526b4e08efb6a1f.jpeg)