Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
并行进程Python_Python_Flask_Raspberry Pi_Subprocess_Multiprocessing - Fatal编程技术网

并行进程Python

并行进程Python,python,flask,raspberry-pi,subprocess,multiprocessing,Python,Flask,Raspberry Pi,Subprocess,Multiprocessing,我正在做一个可以用树莓和python远程控制的机器人 我在服务器上运行了一个FlaskRESTAPI,当用户按下按钮时,它会向机器人发送命令。假设我按下按钮向前移动,机器人只能在所有传感器都没有检测到任何附近物体的情况下移动。机器人继续运行,直到按下停止按钮或任何传感器到达物体 我的疑问是: 如何让API代码监听任何请求,同时让传感器测量距离?如果机器人正在运行,我想我应该做一个“while True”,直到传感器到达一个对象,但它会锁定程序,如果我按下停止按钮,它不会停止,因为循环是无限的 每

我正在做一个可以用树莓和python远程控制的机器人

我在服务器上运行了一个FlaskRESTAPI,当用户按下按钮时,它会向机器人发送命令。假设我按下按钮向前移动,机器人只能在所有传感器都没有检测到任何附近物体的情况下移动。机器人继续运行,直到按下停止按钮或任何传感器到达物体

我的疑问是: 如何让API代码监听任何请求,同时让传感器测量距离?如果机器人正在运行,我想我应该做一个“while True”,直到传感器到达一个对象,但它会锁定程序,如果我按下停止按钮,它不会停止,因为循环是无限的

每当机器人向任何方向移动时,我都需要传感器处于活动状态,API同时监听

我搜索了多进程和子进程模块,但并不是我需要做什么

有什么建议吗


谢谢

多线程可能是您想要的

下面是一个非常简单的示例,您可以看到线程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
中获取
运行标志。