您好,我正在使用多处理库运行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
完成。