进程池的用法

Posted ouyang99-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进程池的用法相关的知识,希望对你有一定的参考价值。

这是一个函数,没有返回值和其他的函数交互的方式

from concurrent.futures import ThreadPoolExecutor
import time
pool = ThreadPoolExecutor(50)

def f1():
    print(hello)
    time.sleep(1)


for i in range(200):
    pool.submit(f1)

要是有函数参数的调用

    from concurrent.futures import ThreadPoolExecutor
import time
# import random
pool = ThreadPoolExecutor(50)

def f1(i):
    print(hello)
    time.sleep(1)
    i+=1
    return i

def f2(i):
    i=i.result()#接受到的i是一个对象,所以要result一下
    time.sleep(1)
    print(i)




for i in range(200):
    #此处的i是f1的参数,把f1的返回值用于f2的时候需要使用函数的回调
    pool.submit(f1,i).add_done_callback(f2)

 

以上是关于进程池的用法的主要内容,如果未能解决你的问题,请参考以下文章

进程间的数据共享进程池的回调函数和线程初识守护线程

线程池的用法及思考

连接池的概念和初步代码

c_cpp 加载源图像固定用法(代码片段,不全)

『Python』多进程处理

在 Python 多处理进程中运行较慢的 OpenCV 代码片段