多執行緒第三課,我們一起衝衝衝。
眾所周知多執行緒是不能有return的,但是我們執行程序沒有結果那執行它幹什麼。
於是有了queue,他可以儲存結果然後輸出。這裡我們同時執行4個程序。
import threading
import time
from queue import queue
defjob
(l,q)
:for i in
range
(len
(l))
: l[i]
=l[i]**2
q.put(l)
defmultithreading()
: q=queue(
) threads=
data=[[
1,2,
3],[
3,4,
5],[
4,4,
4],[
1,3,
4]]for i in
range(4
):t=threading.thread(target=job,args=
(data[i]
,q))
t.start(
)for thread in threads:
thread.join(
) results=
for _ in
range(4
):))
print
(results)
if __name__==
'__main__'
: multithreading(
)
結果是:
[[1
,4,9
],[9
,16,25
],[16
,16,16
],[1
,9,16
]]
Python多執行緒3 queue
queue模組實現了多生產者。多消費者佇列。在多執行緒環境下,該佇列能實現多個執行緒間安全的資訊交換。模組實現了3種型別的佇列,差別在於佇列中條目檢索的順序不同。在fifo佇列中。依照先進先出的順序檢索條目。在lifo佇列中,最後加入的條目最先檢索到 操作類似乙個棧 在優先順序佇列中,條目被儲存為有...
Python多執行緒(3) Queue模組
queue模組支援先進先出 fifo 佇列,支援多執行緒的訪問,包括乙個主要的型別 queue 和兩個異常類 exception classes python 2 中的queue模組在python 3中更名為 queue。queue物件的建立 可以通過例項化queue型別獲得佇列物件 q queue...
Python多執行緒(3) Queue模組
queue模組支援先進先出 fifo 佇列,支援多執行緒的訪問,包括乙個主要的型別 queue 和兩個異常類 exception classes python 2 中的queue模組在python 3中更名為 queue。queue物件的建立 可以通過例項化queue型別獲得佇列物件 1 q que...