python 之 线程池实现并发

Posted zy6103

tags:

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

使用线程池实现高IO并发

模块:ThreadPoolExecutor, as_completed

测试代码如下:

#!/opt/python3/bin/python3

from concurrent.futures import ThreadPoolExecutor, as_completed
import time

def test(arg1, arg2, arg3):
    time.sleep(int(arg1))
    print(‘参数1:%s 参数2:%s 参数3:%s‘ % (arg1,arg2,arg3))
    return arg1


# 创建含3个线程的线程池
with ThreadPoolExecutor(3) as executor:
    # 生成所有任务
    all_task = [executor.submit(test, ag1, ag2, ag3) for ag1, ag2, ag3 in [(‘2‘,‘aa1‘,‘aa2‘),(‘3‘,‘bb1‘,‘bb2‘)]]

# 等待任务全部执行完毕后,使用for的result方法循环返回结果
for out in as_completed(result):
    mess = out.result()
    print(mess)

# as_completed 方法是等待result任务全部执行完毕
# result 方法是提取任务返回的结果

  

以上是关于python 之 线程池实现并发的主要内容,如果未能解决你的问题,请参考以下文章

Python并发编程之线程池/进程池--concurrent.futures模块

python并发编程之进程池,线程池

并发编程补充知识之标准线程池

python 之 并发编程(进程池与线程池同步异步阻塞非阻塞线程queue)

python之进程池与线程池

python全栈脱产第37天------进程池与线程池协程gevent模块单线程下实现并发的套接字通信