提交任务的两种方式:
  同步调用:提交完一个任务之后,就在原地等待,等待任务完完整整地运行完毕拿到结果后,再执行下一行代码,会导致任务是串行执行
from concurrent.futures import ThreadPoolExecutor,ProcessPoolExecutor
import time,random,os

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

if __name__ == '__main__':
    # print(os.cpu_count())  #查看cpu的个数
    p=ProcessPoolExecutor(4)

    for i in range(10):
        # 同步提交
        res=p.submit(task,'进程pid: ',i).result()
        print(res)
    print("")

结果:
进程pid: 10720 is running
0
进程pid: 10724 is running
1
进程pid: 5948 is running
4
进程pid: 2068 is running
9
进程pid: 10720 is running
16
进程pid: 10724 is running
25
进程pid: 5948 is running
36
进程pid: 2068 is running
49
进程pid: 10720 is running
64
进程pid: 10724 is running
81
同步提交

相关文章:

  • 2022-02-08
  • 2022-12-23
  • 2022-02-08
  • 2021-06-14
  • 2021-06-07
  • 2021-12-12
  • 2022-02-24
猜你喜欢
  • 2021-09-27
  • 2021-09-27
  • 2021-11-08
  • 2022-12-23
  • 2022-02-08
  • 2022-02-08
相关资源
相似解决方案