Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.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 - Fatal编程技术网

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()
该代码将导致两个函数同时在不同的线程中运行。这篇文章更深入地介绍了如何有效地使用
线程
模块

在接近异步或多线程之前,您应该先阅读。在这之后,标准库中有一些异步功能,请查看它们。