我们正在树莓Pi3上用Python3进行多处理。我们在过程中进行面罩检测、人员计数和咳嗽检测。目前我们有3个流程。所有这些都被描述为函数。(def mask ()
,…def cough ()
等)它们都同时工作,这里没有问题。问题是,作为第四个进程,我们希望根据这三个进程的信息编写一个报警函数
我们的目标是,如果在这3次检测中出现不必要的情况(例如错误使用遮罩、人数过多),则在屏幕上打印错误。4.作为一个过程,我们不能将其他函数返回的值与alarm ()
函数下的if-else命令一起使用。我写了下面代码的总结。我们如何在过程中使用数据?现在,alarm()
不能正常工作
def mask():
while True:
if problem:
return True
def cough():
while True:
if problem:
return True
def alarm():
while True:
if mask():
print("Eror1")
elif cough():
print("Error2")
if __name__ == "__main__":
p1 = multiprocessing.Process(target=cough,)
p2 = multiprocessing.Process(target=mask,)
p3 = multiprocessing.Process(target=alarm,)
p1.start()
p2.start()
p3.start()
看看Python docs on multiprocessing,特别是关于exchanging objects between processes和sharing state between processes的部分
如果您只想在出现某些情况时向主进程发送信号,那么^{} 对象可能就足够了。如果您想在进程之间交换更复杂的数据,那么^{} 更适合
对于
Event
对象,您的代码大致如下所示:相关问题 更多 >
编程相关推荐