共享阵列多处理Python
我正在用Python运行一个带有共享数组的多进程代码。问题是我无法初始化该数组…共享阵列多处理Python,python,multiprocessing,shared-memory,Python,Multiprocessing,Shared Memory,我正在用Python运行一个带有共享数组的多进程代码。问题是我无法初始化该数组…要在我读过的多进程程序中共享一个数组,我需要使用multiprocessing.array,但是当我在下面的代码中尝试它时,它没有打印任何内容,而且我没有错误消息。 要打印数组中的元素,请执行以下操作: 导入多处理 如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu': 一个数组=多处理数组(“i”[1,2]) #打印数组中元素的第一个选择: 对于_数组中的元素: 打印(元素) #打
要在我读过的多进程程序中共享一个数组,我需要使用multiprocessing.array,但是当我在下面的代码中尝试它时,它没有打印任何内容,而且我没有错误消息。
要打印
数组中的元素,请执行以下操作:
导入多处理
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
一个数组=多处理数组(“i”[1,2])
#打印数组中元素的第一个选择:
对于_数组中的元素:
打印(元素)
#打印数组中元素的第二个选择:
打印(一个数组[:])
#打印数组中元素的第三种选择:
打印(列表(数组[:]))
您使用的是哪种python版本?此外,我无法重现此行为,您的代码将不会打印[1,2],但我将打印其他内容。您能否将此转换为一个简短的工作示例?修复语法错误后,您的代码将打印
。我正在运行Ubuntu。你能介绍一下你的操作系统以及你是如何运行这些代码的吗(例如,命令行,jupyter等等)?
import multiprocessing
...
...
if __name__ == "__main__":
an_array= multiprocessing.Array("i", [1,2])
print(an_array) # why does it not print anything? I was expecting to print [1,2]
p1 = multiprocessing.Process(target=function1, args = [an_array, 3]