Python執行緒池程式設計和引數的傳遞

2021-08-15 10:57:27 字數 1225 閱讀 7236

from time import sleep

import threadpool

def

eat(a,b,c):

print("%s請%s

吃%s"%(a,b,c))

sleep(2)

"""執行緒中的傳參形式

[(args,kwargs),(args,kwargs)]

"""if __name__ == '__main__':

#執行緒1

# value1 = (1,2,3)

# 執行緒

2# value2 = (4,5,6)

# #執行緒

3# value3 = (7,8,9)

value1 =

value2 =

value3 =

#建立乙個執行緒池

#引數用來設定執行緒池中可以同時執行執行緒的數量

thpool = threadpool.threadpool(2)

# argslist = ["haha","hehe","xixi","yaya","

**狗"]#用

args

形式給執行緒傳參的

(args,kwargs)

,因為沒有

kwargs

形式的引數,所以

#第二個為

none

# argslist = [(value1,none),(value2,none),(value3,none)]

#kwargs

形式給執行緒傳參

#因為沒有

args

形式的引數,所以第乙個為

none

argslist = [(none, value1), (none,value2), (none,value3)]

#把每個執行緒當作乙個請求,

makesrequests

將每個執行緒建立成乙個請求

threadrequests = threadpool.makerequests(eat,argslist)

#將執行緒池中的每個執行緒請求放到執行緒池中

for request in threadrequests:

thpool.putrequest(request)

#開啟,啟動執行緒池

#wait

會等待所有的子執行緒執行完後再執行

wait()

後面的**

thpool.wait()

python 執行緒池 Python的執行緒池

usr bin env python coding utf 8 concurrent 用於執行緒池和程序池程式設計而且更加容易,在python3.2中才有。import sys from concurrent.futures import threadpoolexecutor,as complete...

執行緒池引數

由於系統頻繁的建立和銷毀執行緒,因而使用執行緒池讓建立的執行緒進行復用 1.corepoolsize 指定了執行緒池中的執行緒數量 2.maximumpoolsize 執行緒池中最大執行緒數量 3.keepalivetime 當執行緒池中的執行緒數超過corepoolsize,多餘的空閒的執行緒的存...

執行緒池引數

我把執行緒池引數給做個形象的比喻,執行緒池 就好比乙個水池,池底有n個小洞,就是核心執行緒數量n,最大執行緒數量就是這個池子能裝多少個桌球,等待佇列 就是池子之外的一塊地方,有的佇列是有界的,就是大小固定,有的是無界的,大小不固定。任務 就是把桌球丟到池子中,讓桌球從池底的小洞掉下去。相當於執行緒的...