如何在Python中多线程/多处理一个特定函数的一个实例?

时间:2015-08-15 17:17:02

标签: python multithreading multiprocessing robotics

我正在运行一个控制机器人的Python脚本,但我对如何多线程控制电机控制功能感到困惑。

问题在于硬件的设计使得电机不会移动,除非电机控制功能有几次睡眠,因为硬件需要时间将电信号发送到电机。由于电机控制功能中的这些休眠,整个程序停止并停止读取传感器数据。

我想要做的是知道如何在调用电机控制功能后对其进行多线程/多处理,但是一旦程序在循环的下一次迭代中再次遇到调用,它会检查电机控制是否为仍在运行(即它没有完成睡眠)。如果它仍在运行,它只是跳过电机控制调用并继续循环,读取传感器数据,然后再次检查电机控制功能是否仍在运行。当然,如果电机控制功能不再运行,我希望它再次被调用。

基本上,整个程序只需要两个线程:一个运行主程序,另一个分支关闭,每次电机控制功能完成执行后连续重新运行一个电机控制功能实例。

我曾尝试使用concurrent.futures导入,但收到消息称它不受支持,我无法找到任何特定于我打算使用它的方式。

0 个答案:

没有答案