python 多執行緒小練習

2022-07-03 19:45:16 字數 828 閱讀 5732

需求:有100個資料,啟動5個執行緒,每個執行緒分20個資料,怎麼把這20個資料分別傳給每個執行緒。

1. 利用多執行緒實現

import

threading

nums = list(range(100))

defp(nums):

for num in

numss:

print

(num)

threads =

for i in range(5):

#nums[0:20] #每次取的值

#nums[20:40]

#nums[40:60]

#nums[60:80]

#nums[80:]

t = threading.thread(target=p,args=(numss[i*20:(i+1)*20],))

t.start()

2. 利用執行緒池實現

import

threadpool

defp(num):

print

(num)

res = list(range(100))

pool = threadpool.threadpool(20)#

20個執行緒

reqs = threadpool.makerequests(p,res)#

生成執行緒要執行的所有執行緒,第乙個引數為函式名,第二個引數是傳的值

[pool.putrequest(req) for req in reqs] #

列表生成式

pool.wait()#

等待 其他執行緒執行結束

python多執行緒練習。

注意 使用建立子類的方式實現多執行緒任務 實現和結果 注意 使用例項化物件的方式實現多執行緒任務 專案描述 如果要在本地網路中確定哪些位址處於活動狀態或哪些計算機處於活動狀態,則可以使用此指令碼。我們將依次 ping 位址,每次都要等幾秒鐘才能返回值。這可以在 python 中程式設計,在 ip 位...

Python小爬蟲, 多執行緒

下面是初學了多執行緒,下手寫的乙個小爬蟲,個人看著不那麼優雅,無奈水平不夠 望您發現有誤或者有改進的地方,能指正 import urllib.request as ur import re from threading import thread as tt from queue import qu...

python 多執行緒小演練

encoding utf 8 傳統的方式 執行 3 次 def coding for x in range 3 print 正在寫 s x time.sleep 1 def drawing for x in range 3 print 正在畫圖 s x time.sleep 1 def main c...