我正在尝试做一些实时(类似于)网络摄像头的视频处理。为了获取所有的帧并对其进行处理,我将帧采集器和图像处理器作为两个独立的进程运行。为了让他们交流,我试图在使用Python2.7的multiprocessing.queue和multiprocessing.pipe之间做出选择。
我不明白这两个类之间的区别。一种是使用put和get来共享数据。另一种是使用send和receive。有没有一种用例,其中一个人更喜欢方法而不是另一个?我应该选择其中一种方法吗?
发布于 2018-12-27 01:24:37
multiprocessing.queue是先进先出(FIFO)队列。您将使用它进行单向通信。例如,您的抓取进程可以将帧put()到队列中,而处理进程可以在准备处理帧时从队列中get()帧。
但是,如果您有两个进程,这两个进程同时在彼此之间发送和接收数据,那么您将使用两个连接对象,其中进程A在一个对象上执行sends(),在另一个对象上执行recieves(),而进程B执行相反的操作。
https://stackoverflow.com/questions/53935015
复制相似问题