gpt4 book ai didi

Python - multiprocessing.Value不返回分配的值

转载 作者:行者123 更新时间:2023-12-01 04:55:36 27 4
gpt4 key购买 nike

我在两个文件中编写了代码。为了指出问题,我对代码进行了总结

first.py

def sim(self, x, y, num):
sim = 0.999999
num.value = sim

第二个.py

num = Value('d', 0.0)

p = Process(target=first.sim, args=(int(d * (k-1)), txtlen, num))
processes.append(p)
p.start()

print num.value

我预计输出应该是0.999999。但它只返回0.0。我该如何解决这个问题?有人可以帮忙吗?

我的引用号:16.6.1.4. Sharing state between processes

最佳答案

我正在使用此代码,它似乎有效:

from multiprocessing import Process, Value

class First(object):
def sim(self, x, y, num):
sim = 0.999999
num.value = sim


num = Value('d', 0.0)
first = First()
p = Process(target=first.sim, args=(0, 0, num))
p.start()
p.join()

print num.value

似乎您的进程无法完成,因此您必须在访问 num.value 之前使用 p.join() 确保其完成

关于Python - multiprocessing.Value不返回分配的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27461253/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com