參考文件:
使用 threadpoolexecutor 類, as_completed 是迭代器, 如果有任務執行完成有返回值, 則觸發as_completed 的迭代.
#!/usr/bin/env python
#-*- coding: utf-8 -*-
from concurrent.futures import
threadpoolexecutor, as_completed
import
time
#引數times用來模擬網路請求的時間
defget_html(times):
time.sleep(times)
print("
第{}個任務完成
".format(times))
return
times
executor = threadpoolexecutor(max_workers=3)
urls = [3, 2, 4] #
並不是真的url
all_task = [executor.submit(get_html, url) for url in
urls]
for future in
as_completed(all_task):
data =future.result()
print("
返回第 {} 個任務的結果
".format(data))
python 執行緒池 Python的執行緒池
usr bin env python coding utf 8 concurrent 用於執行緒池和程序池程式設計而且更加容易,在python3.2中才有。import sys from concurrent.futures import threadpoolexecutor,as complete...
python 執行緒池 python執行緒池原始碼解析
本篇主要講下threadpoolexecutor的實現。由於業務量不大,且一直使用框架進行程式設計,對執行緒的理解一直很模糊,基本處於不想阻塞程式執行,起乙個執行緒啟動任務的階段。總感覺自己好像會執行緒一樣,實則一直處於一種懵懂狀態,通過一段時間檢視一些別人寫的原始碼,終於有所悟,也記錄下自己的學習...
python執行緒池
import time threadpool為執行緒池模組 import threadpool deftest str print str time.sleep 2 if name main starttime time.time 建立執行緒池,最多建立的執行緒數為10 pool threadpoo...