【发布时间】:2015-12-23 04:59:18
【问题描述】:
我正在研究 Raspberry Pi 中的运动检测应用程序。有一个 python 脚本应该检查c++ 代码的输出,如果打印了“alert”,它应该开始将图像从给定目录上传到服务器:
for line in self.output:
if line == "alert\n":
# upload a frame from directory to a server
但是,每帧上传到服务器大约需要 30 秒,但每个新行会在 500 毫秒内打印出来。因此,在for 循环的每个if 条件下等待上传当前帧根本没有效率。
我是 Python 新手。有没有办法并行运行两种方法?我知道线程,但我不确定如果for 循环每次在 Raspberry Pi 中创建新线程会发生什么。
【问题讨论】:
-
您应该启动一个 单个 新线程并有一个操作队列供其完成。这意味着操作将按顺序完成而不会阻塞您的主线程。
标签: python multithreading upload callback sftp