一、線程隊列
queue隊列:使用方法同進程的Queue一樣
如果必須在多個線程之間安全地交換信息時,隊列在線程編程中尤其有用。
重要:
q.put()
:往隊列里面放值,當參數(shù)block=Ture的時候,timeout參數(shù)將會有作用,當隊列已經(jīng)滿了的時候,在往里面放值時,block為True程序?qū)却齮imeout的時間,過了時間程序會報錯,block如果為Flase時,程序不會等待直接報錯
q.get()
:從隊列里面取值,當參數(shù)block=Ture的時候,timeout參數(shù)將會有作用,當隊列已經(jīng)空了的時候,在從里面取值時,block為True程序?qū)却齮imeout的時間,過了時間程序會報錯,block如果為Flase時,程序不會等待直接報錯
q.task_done()
:使用者使用此方法發(fā)出信號,表示q.get()返回的項目已經(jīng)被處理。如果調(diào)用此方法的次數(shù)大于從隊列中刪除的項目數(shù)量,將引發(fā)ValueError異常。
q.join()
:生產(chǎn)者將使用此方法進行阻塞,直到隊列中所有項目均被處理。阻塞將持續(xù)到為隊列中的每個項目均調(diào)用q.task_done()方法為止。
二、線程隊列的取值方式
2.1 先進先出
class queue.Queue(maxsize=0)
q = queue.Queue()
:不加參數(shù)代表隊列可以無限的放數(shù)據(jù)
q = queue.Queue() #不加參數(shù)代表隊列可以無限的放數(shù)據(jù) q.put('Cecilia陳') q.put('xichen') print(q.get()) print(q.get()) ''' 結(jié)果: Cecilia陳 xichen '''
新聞標題:python程序線程隊列queue使用方法解析-創(chuàng)新互聯(lián)
網(wǎng)頁網(wǎng)址:http://chinadenli.net/article34/dcchse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、關(guān)鍵詞優(yōu)化、網(wǎng)站建設(shè)、微信小程序、Google、移動網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容