如果我通过多处理方式运行函数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()
这将更新共享内存中的值,并将其封送给任何有引用的进程。