我在多线程方面没有太多经验,我正在尝试使以下工作:
from multiprocessing import Process
class Node:
def __init__(self):
self.children = {}
class Test(Process):
def __init__(self, tree):
super().__init__()
self.tree = tree
def run(self):
# infinite loop which does stuff to the tree
self.tree.children[1] = Node()
self.tree.children[2] = Node()
x = Node()
t = Test(x)
t.start()
print(x.children) # random access to tree
我意识到出于各种非常明智的原因,这不应该(也不会)起作用,但是我不确定如何使它起作用。参考文档,似乎我需要对 Managers 和 Proxies 做一些事情,但老实说,我不知道从哪里开始,或者这是否真的是我想要的。有人可以提供上述有效的例子吗?