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