首先,導入庫
from concurrent.futures import threadpoolexecutor
import time
with threadpoolexecutor(1)
as executor2:
# 開啟1個執行緒,需要跟括號的1對應
executor2.submit(sayhello,
"aa"
)#執行緒呼叫sayhello的方法,傳引數aa
defsayhello
(a):
print
("hello: "
+ a)
time.sleep(2)
print
("hello: b"
)
使用示例:
from concurrent.futures import threadpoolexecutor
import time
# ************執行緒池****************
defsayhello
(a):
print
("hello: "
+ a)
time.sleep(2)
defmain()
: seed =
["a"
,"b"
,"c"
]# start2 = time.time()
# with threadpoolexecutor(3) as executor: # 開啟3個執行緒
# for each in seed:
# executor.submit(sayhello, each)
# end2 = time.time()
# print("時間間隔time2為:" + str(end2 - start2))
with threadpoolexecutor(3)
as executor:
# 開啟3個執行緒
for each in seed:
executor.submit(sayhello, each)
start3 = time.time(
)with threadpoolexecutor(3)
as executor1:
# 開啟3個執行緒
executor1.
map(sayhello, seed)
end3 = time.time(
)print
("時間間隔time3為:time3:"
+str
(end3 - start3)
)# ********** wy ************
with threadpoolexecutor(3)
as executor2:
# 開啟3個執行緒
executor2.submit(sayhello,
"aa"
) executor2.submit(sayhello,
"bb"
) executor2.submit(sayhello,
"cc"
)if __name__ ==
'__main__'
: main(
)
多執行緒 執行緒池
第一 降低資源消耗。通過重複利用已建立的執行緒降低執行緒建立和銷毀造成的消耗。第二 提高響應速度。當任務到達時,任務可以不需要等到執行緒建立就能立即執行。第三 提高執行緒的可管理性。執行緒是稀缺資源,如果無限制地建立,不僅會消耗系統資源,還會降低系統的穩定性,使用執行緒池可以進行統一分配 調優和監控...
多執行緒 執行緒池
執行緒池是什麼 執行緒池 thread pool 是一種基於池化思想管理執行緒的工具,經常出現在多執行緒伺服器中,如mysql。執行緒過多會帶來額外的開銷,其中包括建立銷毀執行緒的開銷 排程執行緒的開銷等等,同時也降低了計算機的整體效能。執行緒池維護多個執行緒,等待監督管理者分配可併發執行的任務。這...
多執行緒 執行緒池
執行緒池的作用 減少了每次建立 銷毀執行緒所帶來的損耗。執行緒池建立執行緒的簡易流程 文字描述 1 先判斷核心執行緒池 corepoolsize 是否已滿,沒滿就建立核心執行緒執行,滿了就進行下一判斷。2 判斷等待佇列 workqueue 是否已經滿了,沒滿就新增到等待佇列,滿了就進行下一判斷。3 ...