zoukankan      html  css  js  c++  java
  • 进程池与线程池(concurrent.futures)

     1 from concurrent.futures import ProcessPoolExecutor
     2 import os,time,random
     3 def task(n):
     4     print('%s is running'%os.getpid())
     5     time.sleep(random.randint(1,2))
     6     return n**2
     7 if __name__ == '__main__':
     8     p = ProcessPoolExecutor()     #默认开启四个进程池
     9     l = []
    10     start = time.time()
    11     for i in range(10):
    12         obj = p.submit(task,i)
    13         l.append(obj)
    14     p.shutdown()
    15     print('='*30)
    16     print([obj for obj in l])
    17     print(time.time() - start)
    进程池
     1 from concurrent.futures import ThreadPoolExecutor
     2 import threading
     3 import os,time,random
     4 def task(n):
     5     print('%s:%s is running'%(threading.currentThread().getName(),os.getpid()))
     6     time.sleep(random.randint(1,2))
     7     return n**2
     8 if __name__ == '__main__':
     9     t = ThreadPoolExecutor()
    10     l = []
    11     start = time.time()
    12     for i in range(10):
    13         obj = t.submit(task,i)
    14         l.append(obj)
    15     t.shutdown()
    16     print('='*30)
    17     print([obj.result() for obj in l])   #可以获取结果
    18     print(time.time() - start)
    线程池
     1 from concurrent.futures import ProcessPoolExecutor
     2 import os,time,random
     3 def task(n):
     4     print('%s is running'%os.getpid())
     5     time.sleep(1)
     6     return n**2
     7 if __name__ == '__main__':
     8     p = ProcessPoolExecutor()
     9     start = time.time()
    10     for i in range(10):
    11         res = p.submit(task,i).result()    #同步执行,速度较慢,一个等一个
    12         print(res)
    13     print('='*30)
    14     print(time.time() - start)
    补充
  • 相关阅读:
    shell:定时任务crontab
    shell:采集进程的cpu和内存利用率_随手记1
    临时记录
    python:numpy库和matplotlib库
    python:urllib:HTTPResponse对象的用法
    美国亚马逊图片打不开
    互联网协议
    range 和 xrange
    国内服务器的端口开放问题
    Mac上设置Chrome跨域
  • 原文地址:https://www.cnblogs.com/52-qq/p/7458634.html
Copyright © 2011-2022 走看看