今天玩锁,注意到以下情况。假设我有以下需要锁定的代码。使用获取和释放的旧方式:
lock=Lock()
lock.acquire()
a=foo()
if condition:
doSomething()
lock.release()
else:
lock.release()
doSomethingElse()
with
使用以下构造无法实现这段代码:
lock=Lock()
with lock:
a=foo()
if condition:
doSomething()
else: #This is wrong grammar here.
doSomethingElse()
或者可以吗?如果我错了,请纠正我。