##
8 `with` 文でのロック・条件変数・セマフォの使い方

このモジュールのオブジェクトで `acquire()` と `release()` 両メソッドを 具えているものは全て `with` 文のコンテキストマネージャとして使うことができます。 `acquire()` メソッドが `with` 文のブロックに入るときに呼び出され、 ブロック脱出時には `release()` メソッドが呼ばれます。

現在のところ、`Lock`、`RLock`、`Condition`、`Semaphore`、 `BoundedSemaphore` を `with` 文のコンテキストマネージャと して使うことができます。以下の例を見てください。

    from __future__ import with_statement
    import threading

    some_rlock = threading.RLock()

    with some_rlock:
        print "some_rlock is locked while this executes"