Python:在多个类之间共享类变量
我的问题是如何在多个类之间共享变量或缓冲区 e、 g.从多个类写入单个缓冲区,知道一些类正在线程化环境中运行 范例 期望的结果是包含要处理的data1和data2的缓冲区 然而,类my1中的缓冲区是在(init)部分中定义的,不能共享 有什么建议吗? 非常感谢你做错了 只需创建一个类为Python:在多个类之间共享类变量,python,multithreading,class,Python,Multithreading,Class,我的问题是如何在多个类之间共享变量或缓冲区 e、 g.从多个类写入单个缓冲区,知道一些类正在线程化环境中运行 范例 期望的结果是包含要处理的data1和data2的缓冲区 然而,类my1中的缓冲区是在(init)部分中定义的,不能共享 有什么建议吗? 非常感谢你做错了 只需创建一个类为my1的对象,并将其传递给类为my2和my3的对象 # leave my1 as it is class my2(): # no need to inherit from my1 def __init__
my1
的对象,并将其传递给类为my2
和my3
的对象
# leave my1 as it is
class my2(): # no need to inherit from my1
def __init__(self, my1obj): # buffer is object of my1
my1obj.insert('data1')
class my3():
def __init__(self, my1obj):
my1obj.insert('data2')
mybuffer = my1()
my2obj = my2(mybuffer)
my3obj = my3(mybuffer)
如果确实希望将缓冲区绑定到My1
类,可以使用静态类变量
class My1(object):
buffer = [0] * 5
“某些类在线程环境中运行”问题中编写的.insert()
方法不是线程安全的。
class My1(object):
buffer = [0] * 5