1. 程式人生 > 實用技巧 >Python 多執行緒-佇列

Python 多執行緒-佇列

先進先出

import queue

q = queue.Queue(2)

"""
    佇列的第一種模式: 
        1. First In First Out (FIFO) 先進先出
        2. 佇列裡面的元素為空後,會一直等待新的元素進來.不會退出
        3. 佇列長度限定,當長度限定後滿員後,如果繼續put元素進去,必須現有元素get出去後才能繼續put元素進去,否則一直等待元素get出去
"""
q.put(1)
q.put('ok')
q.put({'name': 'jack'})

while q:
    print(q.get())

後進先出

import queue

q = queue.LifoQueue()


q.put(1)
q.put('ok')
q.put({'name': 'jack'})

while q:
    print(q.get())

自定義優先順序進出

  put元素為列表,第一個元素為優先順序,第二個元素為資料,越低的越先出來

  

import queue

q = queue.PriorityQueue()


q.put([1,'a'])
q.put([3,'c'])
q.put([2,'b'])

while q:
    print(q.get())

佇列其他方法:

  

import
queue q = queue.PriorityQueue() q.qsize() # 獲取佇列元素個數 q.empty() # 獲取佇列是否為空 q.full() # 獲取佇列是否為滿

1

2

3

4

5