我正在考虑使用类变量作为线程锁,因为我不喜欢在全局变量中定义锁并且也想防止死锁。这真的有效吗?例子:
import threading
class A(object):
lock = threading.Lock()
a = 1
@classmethod
def increase_a(cls):
with cls.lock:
cls.a += 1
考虑到我不会A.lock
在类内部或外部的某个地方重新分配变量,我的假设是它被视为与全局锁相同?它是否正确?