Pythonのqueue
モジュールは、複数プロデューサ-複数コンシューマ (multi-producer, multi-consumer)キューを実装します。このモジュールのQueue
クラスは、必要なすべてのロックセマンティクスを実装しています。
キューの種類
このモジュールでは3種類のキューが実装されています。
- FIFO キューでは、最初に追加されたエントリが最初に取り出されます。
- LIFO キューでは、最後に追加されたエントリが最初に取り出されます (スタックのように振る舞います)。
- 優先順位付きキュー (priority queue)では、エントリは ( heapq モジュールを利用して)ソートされ、 最も低い値のエントリが最初に取り出されます。
キューの長さ
Queue
クラスのmaxsize
引数でキューに入れられる要素数の上限を設定することができます。maxsize
が0以下の場合は、キューの大きさは無限です。
キューの操作
キューの操作には以下のメソッドがあります。
Queue.qsize()
: キューの近似サイズを返します。Queue.empty()
: キューが空の場合は True を返し、そうでなければ False を返します。Queue.full()
: キューが一杯の場合は True を返し、そうでなければ False を返します。Queue.put(item, block=True, timeout=None)
: item をキューに入れます。Queue.get(block=True, timeout=None)
: キューからアイテムを取り除き、それを返します。
以上がPythonのqueue
モジュールとその長さに関する基本的な情報です。これらの知識を活用して、Pythonでのデータ処理をより効率的に行いましょう。