from __future__ import with_statement
from contextlib import contextmanager
from threading import Lock
# Описание менеджера контекста @contextmanager
def locked(lock):
lock.acquire()
try:
yield
finally:
lock.release()
myLock = Lock()
print "Охраняемый блок кода. Блокировка будет освобождена при любом выходе из этого блока."