Pythonのqueue
モジュールは、複数のプロデューサと複数のコンシューマ間で情報を安全に交換するためのマルチスレッドプログラミングに特に有益です。このモジュールは3種類のキューを実装しています。
- FIFOキュー:最初に追加されたエントリが最初に取り出されます。
- LIFOキュー:最後に追加されたエントリが最初に取り出されます。
- 優先度付きキュー:エントリはソートされ、最も低い値のエントリが最初に取り出されます。
以下に、それぞれのキューの生成と操作方法について説明します。
FIFOキューの生成と操作
import queue
# キューの生成
q = queue.Queue()
# キューへの要素追加
q.put("apple")
# キューからの要素取り出し
item = q.get()
LIFOキューの生成と操作
import queue
# キューの生成
q = queue.LifoQueue()
# キューへの要素追加
q.put("apple")
# キューからの要素取り出し
item = q.get()
優先度付きキューの生成と操作
import queue
# キューの生成
q = queue.PriorityQueue()
# キューへの要素追加
q.put((2, "apple")) # (優先度, アイテム)
q.put((1, "banana"))
# キューからの要素取り出し
item = q.get() # 'banana'が最初に取り出される
以上がPythonのqueue
モジュールの基本的な使い方です。このモジュールを活用することで、複数のスレッド間で情報を効率的に交換することが可能になります。.