##
6.12.1 mutex オブジェクト

`mutex` には以下のメソッドがあります:

`test`( | )

  mutex がロックされているかどうか調べます。

`testandset`( | )

  「原子的 (Atomic)」な Test-and-Set 操作です。 ロックがセットされていなければ獲得して `True` を返します。 それ以外の場合には`False`を返します。

`lock`( | function, argument)

  mutex がロックされていなければ `function(argument)` を実行します。 mutex がロックされている場合、関数とその引数をキューに置きます。 キューに置かれた `function(argument)` がいつ実行 されるかについては`unlock`を参照してください。

`unlock`( | )

  キューが空ならば mutex をロック解除します。 そうでなければ、キューの最初の要素を実行します。