线程池异步执行多参数任务

话不多说直接上代码

"""
    线程池模块
"""
def multiThread(functionName, taskList, threadNum):
    from multiprocessing.pool import ThreadPool
    pool = ThreadPool(threadNum)
    pm = pool.starmap_async(functionName, taskList)
    pool.close()
    pool.join()
    return pm


def hello(num,nstr):
    print(num,nstr)
    return num,nstr

if __name__ == '__main__':
    pool = multiThread(hello,[(row, 'hello') for row in range(10)],10) # 运行带参数传入'hello'
    print(pool.get())

output

01 hello234 hello
 hello
5 hello 
6 
789hello
hello    hellohello
hello


hello
[(0, 'hello'), (1, 'hello'), (2, 'hello'), (3, 'hello'), (4, 'hello'), (5, 'hello'), (6, 'hello'), (7, 'hello'), (8, 'hello'), (9, 'hello')]
进程池的异步方法类似

异步-简单又快乐

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值