首页 > 解决方案 > Python脚本冻结直到鼠标移动?

问题描述

我有一个简单的 python 脚本,它调用传感器并从中获取数据。然后,它使用简单的 POST 请求将此数据发送到 API。我不必等待 POST 的请求结果,因为我并不真正关心它。

该脚本循环运行。

现在,我注意到,有时,仅在执行几秒钟后,一切都冻结了(传感器停止获取信息,直到我移动鼠标之前什么都没有发生......)。如果我让鼠标保持运动,什么都不会冻结。

这是代码:

    import threading
    import requests
    import json

    headers = {'Content-Type': 'application/json'}
    
    for x in range(xStart, xEnd):
        current_distance = sensor.get_distance()
        point= {'distance': current_distance}
        threading.Thread(target=call_api, args=(point,)).start()

    def call_api(obj):
        requests.post("https://myApi/Endpoint",json=obj, headers=headers)

我知道如果我删除 API 部分,一切都会完美运行,所以它与它有关。所以我的问题是:为什么脚本在几秒钟后就冻结了?这是一个树莓派问题还是这个问题与我构建这个脚本的方式有关?

标签: pythonmultithreadingraspberry-pi

解决方案


推荐阅读