并行进程Python
我正在做一个可以用树莓和python远程控制的机器人 我在服务器上运行了一个FlaskRESTAPI,当用户按下按钮时,它会向机器人发送命令。假设我按下按钮向前移动,机器人只能在所有传感器都没有检测到任何附近物体的情况下移动。机器人继续运行,直到按下停止按钮或任何传感器到达物体 我的疑问是: 如何让API代码监听任何请求,同时让传感器测量距离?如果机器人正在运行,我想我应该做一个“while True”,直到传感器到达一个对象,但它会锁定程序,如果我按下停止按钮,它不会停止,因为循环是无限的 每当机器人向任何方向移动时,我都需要传感器处于活动状态,API同时监听 我搜索了多进程和子进程模块,但并不是我需要做什么 有什么建议吗并行进程Python,python,flask,raspberry-pi,subprocess,multiprocessing,Python,Flask,Raspberry Pi,Subprocess,Multiprocessing,我正在做一个可以用树莓和python远程控制的机器人 我在服务器上运行了一个FlaskRESTAPI,当用户按下按钮时,它会向机器人发送命令。假设我按下按钮向前移动,机器人只能在所有传感器都没有检测到任何附近物体的情况下移动。机器人继续运行,直到按下停止按钮或任何传感器到达物体 我的疑问是: 如何让API代码监听任何请求,同时让传感器测量距离?如果机器人正在运行,我想我应该做一个“while True”,直到传感器到达一个对象,但它会锁定程序,如果我按下停止按钮,它不会停止,因为循环是无限的 每
谢谢多线程可能是您想要的 下面是一个非常简单的示例,您可以看到线程2首先在屏幕上打印“2”
import threading
import time
def loopfunc1():
time.sleep(3)
print('1')
def loopfunc2():
print('2')
# launch thread 1
t = threading.Thread(target=loopfunc1)
t.start()
# not waiting thread 1 finish
# launch thread 2
# thread 2 print '2' on screen first
t = threading.Thread(target=loopfunc2)
t.start()
你探索过python的线程模块吗?你可以在运行时在
中启动一个线程。\u标志:if detect\u object:do\u move()
,并且可以从请求设置的线程全局变量/pipe/cache/db
中获取运行标志。