并发编程--线程池与进程池
生活随笔
收集整理的這篇文章主要介紹了
并发编程--线程池与进程池
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
核心思想
以時間換空間
進程池
進程池:一個容器,這個容器限制住你開啟進程的數量,默認是os.cpu_count(),我的電腦是8核,所以能開啟8個,第一次肯定只能并行的處理8個任務,只要有任務完成,進程馬上就會接下一個任務。
代碼實現:
from concurrent.futures import ProcessPoolExecutor,ThreadPoolExecutor import os,time,random# print(os.cpu_count()) def task(n):print(f"{os.getpid()} 接客")time.sleep(random.randint(1,3))if __name__ == '__main__':p = ProcessPoolExecutor()for i in range(30):p.submit(task,1)線程池
線程池:線程最多能執行的是進程的5倍,也就是40個
代碼實現:
from concurrent.futures import ProcessPoolExecutor,ThreadPoolExecutor import os,time,random# print(os.cpu_count()) def task(n):print(f"{os.getpid()} 接客")time.sleep(random.randint(1,3))if __name__ == '__main__':# p = ProcessPoolExecutor()# for i in range(30):# p.submit(task,1)t = ThreadPoolExecutor()for i in range(200):t.submit(task,i)轉載于:https://www.cnblogs.com/alex3174/p/11403107.html
總結
以上是生活随笔為你收集整理的并发编程--线程池与进程池的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql执行出错:Table 'k_u
- 下一篇: android 9.x 实现应用内更新安