【发布时间】:2013-08-27 16:10:30
【问题描述】:
我创建了一个小型设备,该设备使用小型 Raspberry Pi 单板计算机,让我可以远程向我的猫分发零食,并通过网络摄像头监控它和周围环境。 \
该软件由一个 Python 模块组成,该模块托管一个网站(以允许远程控制设备)、一个管理硬件并运行简单状态机的“线程”,以及一个捕获图片的“线程”通过网络摄像头运行运动检测算法,将捕获限制在猫在附近的时间。该网站托管一个 HTML 页面,其中包含一些使用 jQuery 对服务器进行 Ajax 回调的 Javascript。
软件一切正常,但我发现网站在初始加载时返回页面有时非常慢。由于 GIL 和 Python 简单的 http 服务器类设计,我认为问题在于 Python 的一般单线程特性。
我有兴趣将应用程序移至 Twisted,但我不确定如何移植处理相机和硬件状态机的两个线程。两个线程都运行一个循环,有效地轮询,循环的每次迭代之间有一个小的延迟。
谢谢
【问题讨论】:
标签: python multithreading twisted raspberry-pi twisted.internet