python3 使用线程池、进程池完成多线程、多进程任务

 

python3 使用线程池、进程池完成多线程、多进程任务

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/java_raylu/article/details/85217892
  1.  
    from concurrent.futures import ThreadPoolExecutor,ProcessPoolExecutor #线程池,进程池
  2.  
    import threading,time
  3.  
     
  4.  
    def test(arg):
  5.  
    print(arg,threading.current_thread().name)
  6.  
    time.sleep(1)
  7.  
     
  8.  
    if __name__ == "__main__":
  9.  
    thread_pool = ThreadPoolExecutor(5) #定义5个线程执行此任务
  10.  
    process_pool = ProcessPoolExecutor(5) #定义5个进程
  11.  
    for i in range(20):
  12.  
    thread_pool.submit(test,i)
  13.  
    #process_pool.submit(test,i)

执行结果,可以看到任务按计划完成,所有线程顺序基本随机:

  1.  
    C:\Python37\python.exe C:/Users/mayn/PycharmProjects/test11/线程池进程池.py
  2.  
    0 ThreadPoolExecutor-0_0
  3.  
    1 ThreadPoolExecutor-0_1
  4.  
    2 ThreadPoolExecutor-0_2
  5.  
    3 ThreadPoolExecutor-0_3
  6.  
    4 ThreadPoolExecutor-0_4
  7.  
    5 ThreadPoolExecutor-0_0
  8.  
    6 ThreadPoolExecutor-0_3
  9.  
    7 ThreadPoolExecutor-0_4
  10.  
    89 ThreadPoolExecutor-0_2
  11.  
    ThreadPoolExecutor-0_1
  12.  
    10 ThreadPoolExecutor-0_0
  13.  
    11 ThreadPoolExecutor-0_4
  14.  
    12 ThreadPoolExecutor-0_1
  15.  
    13 ThreadPoolExecutor-0_3
  16.  
    14 ThreadPoolExecutor-0_2
  17.  
    15 ThreadPoolExecutor-0_0
  18.  
    16 ThreadPoolExecutor-0_2
  19.  
    17 ThreadPoolExecutor-0_4
  20.  
    18 ThreadPoolExecutor-0_1
  21.  
posted on 2019-11-21 13:04  曹明  阅读(476)  评论(0)    收藏  举报