Python并发编程之进程池与线程池
一.进程池与线程池 python标准模块concurrent.futures(并发未来) 1.concurrent.futures模块是用来创建并行的任务,提供了更高级别的接口,为了异步执行调用 2.concurrent.futures这个模块使用方便,接口都已封装完整 3.concurrent.futures模块即可以实现进程池也可以实现线程池 4.使用concurrent.futures模块导入进程池和线程池,如下: from concurrent.futures import ThreadPoolExecutor,ProcessPoolExecutor 5. p = ProcessPoolExecutor(max_works)对于进程池如果不写max_works:默认的是cpu的数目,默认是4个 p = ThreadPoolExecutor(max_works)对于线程池如果不写max_works:默认的是cpu的数目*5 6.如果是进程池,得到的结果如果是一个对象。我们得用一个.get()方法得到结果,但是现在用了concurent.future模块,我们可以用obj.result方法 p.submit(task,i) #相当于apply_async异步方法 p.shutdown() #默认有个参数wite=True