zoukankan      html  css  js  c++  java
  • 进程池与线程池

    07.07自我总结

    进程池与线程池

    一.进程池与线程池的函数的导入

    进程池:from concurrent.futures import ProcessPoolExecutor

    线程池:from concurrent.futures import ThreadPoolExecutor

    二.进程池与线程池的定义

    1.进程池的定义

    pool = ProcessPoolExecutor(3)

    • 设置最大进程为3
    • 创建进程池,指定最大进程数为3,此时不会创建进程,不指定数量时,默认为CPU和核数

    pool.submit(方法,传参)

    如果传的是两个值

    pool.submit(方法,参数1,参数2)

    对于提交对象中有几个常用的方法:

    res = pool.submit(方法,参数)

    res.result()

    result是个阻塞函数,直到子线程任务结束,且返回方法的结果

    res.add_done_callback(方法2)

    将结果进程执行的结果当一个参数传入方法二中

    2.线程池的定义

    与进程池相似

    3.注意

    进程池定义和运行尽量放在main里面,比然可能会发生重复定义进程池

    三.使用场景

    线程方法相同,且需要重复使用,这个可以用进程池或者线程池,可以减少创建和关闭进程线程是所消耗的资源

  • 相关阅读:
    Subway POJ
    Invitation Cards POJ
    Cow Contest POJ
    MPI Maelstrom POJ
    Wormholes POJ
    Currency Exchange POJ
    Codeforces Round #608 (Div. 2) D Portals
    AcWing 1052. 设计密码
    AcWing 1058. 股票买卖 V 状态机模型dp
    AcWing 1057. 股票买卖 IV 状态机模型dp
  • 原文地址:https://www.cnblogs.com/pythonywy/p/11146730.html
Copyright © 2011-2022 走看看