当前位置: 首页 > 网络应用技术

并发模块的遗嘱执行人类

时间:2023-03-08 19:33:59 网络应用技术

  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)