gpt4 book ai didi

python - 从Python中的一个线程读取值: queue or global variable?

转载 作者:太空宇宙 更新时间:2023-11-03 14:37:08 25 4
gpt4 key购买 nike

我有一个线程,每 10ms 测量一个电压值(从外部设备捕获),应用一些基本的低通滤波并将该值存储在变量 lp_voltage 中。 。每隔几秒,主程序就需要读取 lp_voltage 中存储的值。 .

我已经想出了两种方法可以用 threading 来做到这一点框架:

什么选项最好?如果队列更好,如何使它们适应我的问题?

最佳答案

如果您知道自己在做什么,第一种方法就可以。

更多说明:

在这两种方法中,您都需要确保两个线程可以访问共享变量(lp_Voltagev_queue)。 v_queue 真正的优势是一致性。如果你不关心一致性,你可以简单地使用一个变量。

为了实现这个更Pythonic,您可以将整个项目包装到一个对象中。例如:

class VoltageTask:

def __init__(self):
self.lp_voltage = 0
self.thread = Thread(target=self.update_voltage)

def update_voltage(self):
self.lp_voltage = your_function_to_get_voltage()

def main_thread(self):
...

def start(self):
self.thread.start()
self.main_thread()


if __name__ == "__main__":
task = VoltageTask()
task.start()

关于python - 从Python中的一个线程读取值: queue or global variable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46846475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com