不同文件中的Python线程功能

2024-10-02 20:30:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了一个python文件,该文件创建了一个线程,从两个不同的文件调用函数

import objDetection_heartbeat
import combindedsensors
from threading import Thread

threads = []

sensors_thread = Thread(name="Sensors", target=combinedsensors.ping)
threads.append(sensors_thread)
sensors_thread.start()

heartbeat_thread = Thread(name="Heartbeat", 
target=objDetection_heartbeat.heartbeat_send)
threads.append(heartbeat_thread)
heartbeat_thread.start()

heartbeat_send函数每5秒发送一条消息。 combinedsensors.ping计算两个对象之间的距离

我创建的python线程文件只调用heartbeat函数。我看到它每5秒就出现一次,但我不知道为什么它不调用sensor_线程。看来我能跑其中一个,但不能同时跑两个。我之所以创建线程,是因为心跳是在一个间隔上的,我没有等待5秒,而是尝试与心跳并行调用传感器函数


Tags: 文件函数nameimporttargetping线程thread
1条回答
网友
1楼 · 发布于 2024-10-02 20:30:36

Python线程是绿色线程,这意味着它们“模拟”真实线程。事实上,您有一个线程可以从一段代码跳到另一段代码。CPU绑定的代码不会从Python线程功能中受益

我发现这个问题提供了详细的解释:Green-threads and thread in Python

以下可能是更好的解决方案:

yield from asyncio.sleep(1)

相关问题 更多 >