+
95
-

python如何多进程或多线程并行执行任务获取结果?

python如何多进程或多线程并行执行任务获取结果?


网友回复

+
15
-

首先是多线程

我们采用ThreadPoolExecutor,代码如下:

#!/usr/local/python3/bin/python3
# -*- coding: utf-8 -*
from concurrent.futures import ThreadPoolExecutor,ProcessPoolExecutor

import os,time,random
import requests
def task(n):
    print('%s is runing' %os.getpid())
    time.sleep(random.randint(1,3))
    return n**2

if __name__ == '__main__':

    executor=ThreadPoolExecutor(max_workers=3)

    # for i in range(11):
    #     future=executor.submit(task,i)

    executor.map(task,range(1,12)) #map取代了for+submit
		

多进程示例

#!/usr/local/python3/bin/python3
# -...

点击查看剩余70%

我知道答案,我要回答