在python中,当异常发生时,锁定会自动释放吗?

时间:2016-08-20 03:49:35

标签: python locking

例如:

import threading

lock = threading.Lock()

with lock:
    some code that throws an exception

这假设抛出异常的代码不包含在try except块中。

1 个答案:

答案 0 :(得分:4)

将锁用作上下文管理器(with lock:)的重点是让Python在发生异常时通知该锁定对象。

所以是的,当发生异常时,锁会自动解锁,因为with语句可以确保它被通知异常。