在python进程之间共享共享内存的多个实例

时间:2020-06-03 20:36:26

标签: python multiprocessing shared-memory

我正在尝试在需要同步的进程之间共享共享内存的多个实例。例如,有一个摄像机块(过程),它将480x640图像传递到边缘检测器块,该边缘检测器块对图像执行边缘检测并将其传递到监视过程。 问题是如何将共享内存的多个实例(multiprocessing.Array())与相应的Lock()一起传递给进程?例如,边缘检测器需要一个输入阵列和一个输出阵列以及2个锁,以防止出现竞争情况。

还可以以某种方式将以下类的列表传递给多个multiprocessing.Process()进程吗?

'''

class Wire:
    def __init__(self, identifier, sh_mem, lock):

    self.id = identifier
    self.value = sh_mem
    self.lock = lock

def read(self):

    self.lock.acquire()
    return_value = self.value.copy()
    self.lock.release()
    return return_value

def write(self, to_write):

    self.lock.acquire()
    self.value = to_write.copy()
    self.lock.release()
    return

'''

0 个答案:

没有答案