python中的异步同时任务
我对python流程相当陌生,我正在尝试使用多处理模块为以下场景编写一些东西: 我想从摄像机(网络摄像机或其他)采集帧,同时对先前采集的序列的“堆栈”进行一些处理。问题是,我想实现尽可能高的帧速率,尽可能少的丢失帧。我正在考虑使用一个进程来收集指定数量的帧,将它们保存在一个数组中,并将其发送给第二个进程,该进程对该数组执行分析,同时第一个进程继续收集帧,并在这两个进程之间不断切换。 显然,在等待第二个进程再次可用时会丢失一些帧,但关键是要将这些帧降低到最低限度。我假设数据分析比帧采集需要更多的时间 有没有关于什么是最好/最有效的方法的想法? 另外,在进程之间存储和传输数据的最佳方式是什么?使用队列有帮助吗?python中的异步同时任务,python,Python,我对python流程相当陌生,我正在尝试使用多处理模块为以下场景编写一些东西: 我想从摄像机(网络摄像机或其他)采集帧,同时对先前采集的序列的“堆栈”进行一些处理。问题是,我想实现尽可能高的帧速率,尽可能少的丢失帧。我正在考虑使用一个进程来收集指定数量的帧,将它们保存在一个数组中,并将其发送给第二个进程,该进程对该数组执行分析,同时第一个进程继续收集帧,并在这两个进程之间不断切换。 显然,在等待第二个进程再次可用时会丢失一些帧,但关键是要将这些帧降低到最低限度。我假设数据分析比帧采集需要更多的时
使用“类”来定义每个进程有什么好处吗? < P>你应该考虑<代码>线程->代码>模块,它是内置的,对于初学者来说是相当容易使用的。 下面是一个简单的例子:
import threading
def get_image():
#Grab a frame from the camera.
def process_image():
#Process the image(s).
threading.Thread(target=get_image).start()
threading.Thread(target=process_image).start()
该代码将导致两个函数同时在不同的线程中运行。这篇文章更深入地介绍了如何有效地使用线程
模块 在接近异步或多线程之前,您应该先阅读。在这之后,标准库中有一些异步功能,请查看它们。