多執行緒學習筆記(3)Queue

2021-10-06 15:17:16 字數 995 閱讀 7405

多執行緒第三課,我們一起衝衝衝。

眾所周知多執行緒是不能有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...