Python 3.x都有锁是否需要声明为全局?
import threading
lock = threading.Lock()
counter = 0
def update_counter():
global counter
lock.acquire()
counter += 1
lock.release()
# starts threads, target update_counter
是否锁必须是全球性的?如果不是,由于未定义本地锁定,它不会导致错误?
谢谢
试用时是否遇到错误? – Evert
附注:不要手动调用'acquire'和'release'。尽可能使用'with'语句;它是例外的安全的,并且避免了忘记正确匹配'acquire'和'release'的可能性。 – ShadowRanger