Python3【模块】concurrent.futures模块,线程池进程池

  Python标准库为我们提供了threading和multiprocessing模块编写相应的多线程/多进程代码,但是当项目达到一定的规模,频繁创建/销毁进程或者线程是非常消耗资源的,这个时候我们就要编写自己的线程池/进程池,以空间换时间。但从Python3.2开始,标准库为我们提供了concurrent.futures模块,它提供了ThreadPoolExecutor和ProcessPoolExecutor两个类,实现了对threading和multiprocessing的进一步抽象,对编写线程池/进程池提供了直接的支持。
 
模块:concurrent.futures模块的ThreadPoolExecutor,ProcessPoolExecutor子类
 
简单实例:
from concurrent.futures import ThreadPoolExecutor,ProcessPoolExecutor
import time

def task(arg1,arg2):
    print(arg1,arg2)
    time.sleep(1)

# pool = ProcessPoolExecutor(10)
pool = ThreadPoolExecutor(10)

for i in range(100):
    pool.submit(task,i,i)

  

 

 

posted on 2017-10-09 16:48  lucaq  阅读(333)  评论(0编辑  收藏  举报

导航