Usare Python 2.6.6Come smontare Python Lock viene acquisito con l'istruzione 'with'?
Così ho appena appreso che il seguente:
myLock.acquire()
doStuff()
myLock.release()
può essere sostituito con:
with myLock:
doStuff()
mio quandry è che con l'ex codice che ho potuto unittest che il lucchetto veniva usato per proteggere il fare-di-roba prendendo in giro la serratura. Ma con quest'ultimo il mio non più valido ora (in modo prevedibile) fallisce, perché non vengono chiamati acquire() e release(). Quindi, per il secondo caso, come posso verificare che il lucchetto sia usato per proteggere il fare-di-cose?
Preferisco il secondo metodo perché non è solo più conciso, ma non c'è alcuna possibilità che scriverò codice che dimentica di sbloccare una risorsa. (Non che l'abbia mai fatto prima ...)