キューモジュールを使用します

キューモジュール

from queue import Queue,LifoQueue,PriorityQueue


# 队列——先进先出

que = Queue(5)

# 堆栈——先进后出

que = LifoQueue(5)

# 优先级队列——优先级低的先出

# que = PriorityQueue(5)


que.put('任意数据类型')
que.put(['任意数据类型(列表)'])
que.put({'任意数据类型(字典)':'aaaa'})
que.put({'这是集合'})
que.put(("元组也行",))

# 优先级队列专用(因为put里是元组,且第一个元素是可以互相比较的数据类型,这里默认用整型)
# que.put((2,'任意数据类型'))
# que.put((10,['任意数据类型(列表)']))
# que.put((5,{'任意数据类型(字典)':'aaaa'}))
# que.put((1,{'这是集合'}))
# que.put((100,("元组也行",)))

print(que.get())
que.task_done()

print(que.get())
que.task_done()

print(que.get())
que.task_done()

print(que.get())
que.task_done()

print(que.get())
que.task_done()

que.join()

キュー()キュー

キュー、FIFO

主な用途

  • プット()
  • 取得する()
  • デフォルトパラメータが入れ/取得
    • ブロック
      • デフォルトはtrueです
        • キューがいっぱいになると、それはその後、待機状態になります
        • キューが空である、とするとき、あなたは待ち状態になります
      • 場合はFalseです
        • キューがいっぱいになると、その後、間違って入れて投げます
        • キューが空で、その後、間違ったがスローされます取得するとき
    • タイムアウト
      • ブロックがTrueの場合にのみ、それは理にかなっています
      • 待機状態の継続時間を設定し、
        超えて同じ時間を与えられています

()の使用に参加

  • 取得()は1回)(task_doneう
  • それ以外の場合は、()現在のスレッドをブロックの上に住んでいるに参加

LifoQueue()スタック

スタック、最後のアウト

主な用途

  • プット()
  • 取得する()

優先度つきキュー()プライオリティキュー

プライオリティキュー、および優先度の関連

主な用途

  • プット()
  • 取得する()

ストアデータは、優先順位に従って、スタックに基づいて、このクラスは山に基づいています

最初のうち、低優先順位

あなたは、join()メソッドを使用することができます

キー:各メソッドgetのコンテナを置く、ここで同じ時間を使用する必要がtask_down()メソッド

それ以外の場合は、join()メソッドは、常にこの中にブロックされます

ポータル

XMind:ZEN - 試用版

おすすめ

転載: www.cnblogs.com/marklijian/p/11575213.html