python如何多进程或多线程并行执行任务获取结果?
网友回复
首先是多线程
我们采用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%


