根据函数xyz中的变量来修改由多进程执行的函数abc中变量的值



如果我通过多处理方式运行函数a而只运行函数b,我希望函数b的数据值影响函数a的数据值

但是它不适合我,已经五个多小时没能解决这个问题了请帮帮我

我想修改下面的代码

def abc(data):
print(data.value)
time.sleep(2)
while True:
print(data.value)
time.sleep(1)
def xyz():
global data
while True:
data = random.random()
time.sleep(0.5)
if __name__ == '__main__':
data = multiprocessing.Value("d", random.random())
p = mp.Process(target=abc,args=(data,))
p.start()
time.sleep(1)
xyz()

这一行:

data = random.random()

将变量数据更改为新值。然而,data是一个共享内存引用,如果你想更新它,你需要使用.value:

data.value = random.random()

这将更新共享内存中的值,并将其封送给任何有引用的进程。

最新更新