Pythonのqueueモジュールは、複数プロデューサ-複数コンシューマ (multi-producer, multi-consumer)キューを実装します。このモジュールは、複数のスレッドの間で情報を安全に交換しなければならないときのマルチスレッドプログラミングで特に有益です。

キューの種類

このモジュールでは3種類のキューが実装されています。

  1. FIFO (First In First Out) キュー: 最初に追加されたエントリが最初に取り出されます。
  2. LIFO (Last In First Out) キュー: 最後に追加されたエントリが最初に取り出されます。
  3. 優先順位付きキュー (priority queue): エントリはソートされ、最も低い値のエントリが最初に取り出されます。

キューのメソッド

キューオブジェクト (Queue, LifoQueue, PriorityQueue)は、以下のpublicメソッドを提供しています。

  • 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モジュールの基本的な概要となります。このモジュールを使うことで、複数のスレッド間で情報を安全に交換することが可能となります。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です