# 7.8 `Queue` -- 同期キュークラス

`Queue`モジュールは、多生産者-多消費者FIFOキューを実装します。 これは、複数のスレッドの間で情報を安全に交換しなければならないときの スレッドプログラミングで特に有益です。 このモジュールの`Queue`クラスは、 必要なすべてのロックセマンティクスを実装しています。 これはPythonのスレッドサポートの状況に依存します。

参考資料:

`bisect`モジュール:
  Queueクラスを使った優先順位付きキューの例.

`Queue`モジュールは以下のクラスと例外を定義します:

class `Queue`( | maxsize)

  クラスのコンストラクタです。 maxsizeはキューに置くことのできる要素数の上限を設定する整数です。 いったんこの大きさに達したら、挿入はキューの要素が消費されるまでブロック されます。 もしmaxsizeが0以下であるならば、キューの大きさは無限です。

exception `Empty`
  空またはロックされている`Queue`オブジェクトで、 非ブロックメソッドとして`get()`(または`get_nowait()`) が呼ばれたとき、送出される例外です。

exception `Full`
  満杯またはロックされている`Queue`オブジェクトで、 非ブロックメソッドとして`put()`(または`put_nowait()`) が呼ばれたとき、送出される例外です。