##
7.8.1 キューオブジェクト

クラス`Queue`はキューオブジェクトを実装しており、 以下のメソッドを持っています。 このクラスは、他のキュー構造(例えばスタック)を実装するために 派生させられるますが、継承可能なインタフェースはここでは説明しません。 詳しいことはソースコードを見てください。 公開メソッドは次のものです:

`qsize`( | )

  キューの大まかなサイズを返します。 マルチスレッドセマンティクスにおいて、この値は信頼できません。

`empty`( | )

  キューが空なら`True`を返し、そうでないなら`False`を返します。 マルチスレッドセマンティクスにおいて、この値は信頼できません。

`full`( | )

  キューが満杯なら`True`を返し、そうでないなら`False`を返します。 マルチスレッドセマンティクスにおいて、この値は信頼できません。

`put`( | item[, block[, timeout]])

  itemをキューに入れます。 もしオプション引数blockがTrueでtimeoutがNone(デフォルト)ならば、 フリースロットが利用可能になるまでブロックします。 timeoutが正の値の場合、最大でtimeout秒間ブロックし、 その時間内に空きスロットが利用可能にならなければ、 例外`Full`を送出します。 他方(blockがFalse)、直ちにフリースロットが利用できるならば、 キューにアイテムを置きます。できないならば、例外`Full`を送出します (この場合timeoutは無視されます)。

  バージョン2.3 以降で新規追加された 仕様: the timeout parameter

`put_nowait`( | item)

  `put(item, False)`と同じ意味です。

`get`( | [block[, timeout]])

  キューからアイテムを取り除き、それを返します。 もしオプション引数blockがTrueでtimeoutがNone(デフォルト)ならば、 アイテムが利用可能になるまでブロックします。 もしtimeoutが正の値の場合、最大でtimeout秒間ブロックし、 その時間内でアイテムが利用可能にならなければ、 例外`Empty`を送出します。 他方(blockがFalse)、直ちにアイテムが利用できるならば、 それを返します。できないならば、例外`Empty`を送出します (この場合timeoutは無視されます)。

  バージョン2.3 以降で新規追加された 仕様: the timeout parameter

`get_nowait`( | )

  `get(False)`と同じ意味です。