Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
共享阵列多处理Python_Python_Multiprocessing_Shared Memory - Fatal编程技术网

共享阵列多处理Python

共享阵列多处理Python,python,multiprocessing,shared-memory,Python,Multiprocessing,Shared Memory,我正在用Python运行一个带有共享数组的多进程代码。问题是我无法初始化该数组…要在我读过的多进程程序中共享一个数组,我需要使用multiprocessing.array,但是当我在下面的代码中尝试它时,它没有打印任何内容,而且我没有错误消息。 要打印数组中的元素,请执行以下操作: 导入多处理 如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu': 一个数组=多处理数组(“i”[1,2]) #打印数组中元素的第一个选择: 对于_数组中的元素: 打印(元素) #打

我正在用Python运行一个带有共享数组的多进程代码。问题是我无法初始化该数组…
要在我读过的多进程程序中共享一个数组,我需要使用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]