gpt4 book ai didi

在树莓派中运行两个程序时 Python 变慢

转载 作者:太空宇宙 更新时间:2023-11-04 10:45:36 25 4
gpt4 key购买 nike

在 Raspberry Pi 上运行两个使用 python gpio 引脚的程序时,一个变慢。一种是磁传感器,另一种是温湿度传感器。后者是放慢速度的。它不是每 2 秒打印一次温度,而是每 5 到 10 秒打印一次。如果它进来,磁传感器运行速度更快。

最佳答案

看来您的问题不是 Python,而是 IO 差距。即使您使用不同的引脚,Raspberry 的 GPIO 也使用相同的总线来处理所有引脚,因此一个进程需要等待其他进程使用,而不是有时间。

您可以使用相应的解决方案来处理这些问题,但之后可能会出现类似于联合程序的问题。

基本思路:将两个程序合二为一。单个进程/线程来控制所有读取。

改进的想法:将您的代码分成三个进程。其中两个将只读/写一个数组并使用来自 GPIO 的值。其中一个过程将是您的主要过程,并且将是一个SharedArray。处理 GPIO 数据。请记住,从 RAM 读取比从 GPIO 读取更好/更快,因此只需使用数组从 IO 更新状态。您可以使用一个数组设置新值,另一个数组存储实际值。

前段时间我用了一些Sockets通过某些线程广播一些 IO 数据,并可以获得更新的数据(来自相机的图片)并与线程共享 100 毫秒的间隙,只是避免了 IO 间隙。所以你可以使用 SocketServer 得到类似的结果带有一些 workers 的库传播信息。

关于在树莓派中运行两个程序时 Python 变慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33247819/

25 4 0
文章推荐: java - JVisualVM - 探查器 - 已加载代理 jar,但代理无法初始化
文章推荐: html - 如何让Bootstrap.css