python 執行緒 多執行緒 執行緒池

2021-10-09 12:58:26 字數 1701 閱讀 2683

首先,導入庫

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 ...