如何在python中使用多处理为变量赋值新值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在python中使用多处理为变量赋值新值相关的知识,希望对你有一定的参考价值。
def foo(var, new_value):
var = new_value
x = 1
multiprocessing.Process(target=foo, args=(x,2))
p.start()
p.join()
print(x)
我希望print(x)
的输出是2,但事实上我得到1.我怎么能为现有变量赋值?
答案
你需要使用multiprocessing shared values;
import multiprocessing
import ctypes
def foo(var, new_value):
var.value = new_value
x = multiprocessing.Value(ctypes.c_int, 1)
print(x.value)
p = multiprocessing.Process(target=foo, args=(x,2))
p.start()
p.join()
print(x.value)
以上是关于如何在python中使用多处理为变量赋值新值的主要内容,如果未能解决你的问题,请参考以下文章