Non pour moi c'est du sucre syntaxique quand même :). Quand tu utilises un lock, tu sais que tout code l'utilisant doit être dans un try/finally. Donc :
lock = threading.Lock()
with lock:
# Critical section of code
Le dernier est explicite, alors que with contient un fonctionnement implicite. Tout est une question d'habitude après, mais ce n'est pas une révolution en tout cas.
[^] # Re: Quelques commentaires
Posté par Thomas Hervé . En réponse au journal Python 2.5 beta 2. Évalué à 1.