為什麼要裝到容器中
可以避免頻繁的建立和銷毀(程序/執行緒)來的資源開銷
可以限制同時存在的執行緒數量 以保證伺服器不會應為資源不足而導致崩潰
幫我們管理了執行緒的生命週期
管理了任務的分配
from concurrent.futures import threadpoolexecutor,processpoolexecutor
from threading import activecount,enumerate,current_thread
#建立執行緒池
pool = threadpoolexecutor(2) #同時併發執行緒最大數maxsize=2
def task():
print(current_thread().name)
#提交任務並執行
pool.submit(task)
pool.submit(task)
pool.submit(task)
print(enumerate()) #獲取當前主線程以及程序池中的兩個執行緒的列表
#[<_mainthread(mainthread, started 776)>, , ]
#建立程序池
def task():
time.sleep(1)
print(os.getpid())
if __name__ == '__main__':
#程序池
pool = processpoolexecutor(2)
pool.submit(task)
pool.submit(task)
pool.submit(task)
執行緒池與程序池
從python3.2開始,標準庫為我們提供了concurrent.futures模組,它提供了threadpoolexecutor和processpoolexecutor兩個類,實現了對threading和multiprocessing的更高階的抽象,是使用非同步實現,充分利用cpu提高程式執行效率...
執行緒池與程序池
from concurrent.futures import processpoolexecutor p processpoolexecutor 5 deftask n print n if name main for i in range 10 p.submit task,i submit 提交任...
程序池與執行緒池
1.什麼是池?在保證計算機硬體安全的情況下最大限度的利用計算機,池其實是降低了程式的執行效率,但是保證了計算機的硬體安全,不會造成計算機崩掉,伺服器掛掉,受限於硬體的發展才有了池的概念,其實都是保證硬體的安全 2.執行緒池與程序池 執行緒池也就意味著乙個池子,裡面事先已經放好了執行緒,假如裡面有十個...