使用rawarray
在不同进程之间共享multiprocessing
时,让所有子进程编写/修改raw array
是否有问题?
在这种情况下,是否需要处理锁定等?
答案 0 :(得分:2)
来自python文档:
multiprocessing.sharedctypes.RawArray(typecode_or_type, size_or_initializer)
Return a ctypes array allocated from shared memory. typecode_or_type determines the type of the elements of the returned
数组:它是ctypes类型或a 这种类型的一个字符类型 由阵列模块使用。如果 size_or_initializer是一个整数 它决定了数组的长度, 并且数组将是最初的 归零。否则size_or_initializer 是一个习惯的序列 初始化数组及其长度 确定数组的长度。
Note that setting and getting an element is potentially non-atomic;
使用Array()来确保这一点 访问自动同步 使用锁。
因此,您可能需要使用允许进程之间锁定和同步的multiprocessing.sharedctypes.Array。