多处理 python 的行为不符合预期



您好,我正在使用多处理库运行main()的两个不同函数:

Coap = multiprocessing.Process(target=runCoapSync(iotComponent))
huis=multiprocessing.Process(target=runHuis(iotComponent))
huis.start()
Coap.start()

问题是函数runHuis()没有被触发,但是如果我为运行另一个函数而注释行,则该函数runHuis()按预期工作。我在代码中的其他地方使用相同的结构,但它工作得很好。

下面是这两个函数的代码:

def runHuis(iotDevice):
print("----------------1---------------")
LCD=iotDevice.connectedHUIs[0]
while True:
LCD.alertHuman(iotDevice.connectedSensors[0].data.value)
def runCoapSync(iotDevice):
print("----------------2---------------")
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
loop.run_until_complete(runCoap(iotDevice))

multiprocessing.Process要求目标为具有可选参数的可调用对象:

multiprocessing.Process(target=runCoapSync, args=(iotComponent,))

由于您正在调用它,因此其余程序将等待runCoapSync完成。

相关内容

  • 没有找到相关文章

最新更新