Python标准库为我们提供了用于线程和多处理模块的相应的多线程/多过程代码。从版本3.2开始,标准库还提供了consurrent.futures.futures.futures。该模块提供了ThreadPoolExecutor和ProcessPooleExecutor,该模块实现了实现的实现,该模块实现了线程和多处理模块的较高级别抽象,并直接支持写入线程池/进程池。
执行程序是一个无法直接使用的抽象类。它为特定异步执行定义了一些基本方法。ThreadPoolExecutor和ProcessPoolExecutor继承了执行程序,这些executor分别用于创建线程池和进程池的代码
ThreadPoolExecutor类是执行程序的子类,使用线程池执行异步调用。
使用max_workers号码来执行异步调用
ProcessPoolExecutor类是执行人的子类,使用进程池执行异步调用。
使用max_worker的数量来执行异步调用的过程池。如果MAX_WORKER的价值不是,则计算机的处理器数量(例如8台计算机使用8个进程用于异步并发送)
该方法的作用是提交可执行回调任务并返回未来实例。Future对象表示给定的呼叫。
executor.submit(fn, *args,** kwargs)
FN:需要进行异步的功能
*args,** kwargs:传递给fn的参数
结果:
此方法返回地图(func, *iteraables)迭代器。迭代器中恢复执行的结果是有序的。
executor.map(fn, *iterables,timeout = none)
FN:需要进行异步的功能
IteraAbles:迭代对象。任何时间弹力执行,参数将从项目中读取。
超时:设置每个异步操作的超时,该值可以是int或float。如果操作没有时间,请返回raisestimeouterror
结果:
释放系统资源,在crist()方法或map()方法之后调用,然后使用WAND with语句显示此方法以避免使用call.executor.shutdown(wait = true)